为了账号安全,请及时绑定邮箱和手机立即绑定

与主键不同的列的 Laravel 一对多关系

与主键不同的列的 Laravel 一对多关系

PHP
慕村225694 2022-08-05 10:42:48
我有以下两个表:account:+--------------------------+---------------------+------+-----+---------+-------+| Field                    | Type                | Null | Key | Default | Extra |+--------------------------+---------------------+------+-----+---------+-------+| id                       | varchar(25)         | NO   | PRI |         |       || name                     | varchar(191)        | NO   | UNI | NULL    |       || status                   | tinyint(3) unsigned | NO   |     | NULL    |       || active                   | tinyint(3) unsigned | NO   |     | NULL    |       |project:+-----------------------+------------------+------+-----+---------+----------------+| Field                 | Type             | Null | Key | Default | Extra          |+-----------------------+------------------+------+-----+---------+----------------+| id                    | int(10) unsigned | NO   | PRI | NULL    | auto_increment || client_code           | varchar(191)     | NO   |     | NULL    |                || tags                  | varchar(500)     | YES  |     | NULL    |                || project_id            | int(11)          | NO   |     | NULL    |                || file_name             | varchar(191)     | NO   |     | NULL    |                || total_records         | int(11)          | NO   |     | NULL    |                |客户和项目之间存在一对多关系。表中的外键被命名为 而不是 。projectsaccount_codeaccount_id问题是具有重要意义的项目标识符列,而不是在项目表中。project_idid这是我的客户模型:public function projects() {    return $this->hasMany('App\Project', 'account_code');}项目型号:public function account() {    return $this->belongsTo('App\Account', 'account_code', 'project_id');}我在项目表中有一行作为: id: 9 account_code: 0011T00002K95MLQAZ tags: cpi|test|dmf project_id: 312 file_name: conf_matrix_dev_1579064650.tsv total_records: 19我尝试检索project_id所属的详细信息。account312$project = \App\Project::where('project_id', 312)->get();dd($project->account->name);如何在不编写查询的情况下解决此问题?
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

这里的问题是 get 检索的是一个集合而不是一个实例。您可以使用

$project = \App\Project::where('project_id', 312)->first();

相反,这应该可以解决问题。

希望它有帮助。此处公开了其他一些解决方案:此集合实例上不存在属性 [title]


查看完整回答
反对 回复 2022-08-05
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信