【发布时间】:2019-03-16 10:59:17
【问题描述】:
我在一个数据库中有 3 个表
- 事务
{'id','bill_id','remark'} - 账单
{'id','third_party','amount'} - 第三方
{'id','company_name',remark}
'transaction' 表有来自 'Bills' 的列 bill_id,而 Bills 表有连接到第三方表 列的 'third_party' 列 - > 'id'
所以我在这里尝试使用 laravel eloquent 关系获取company_name
我的交易模型:
public function Bills()
{
return $this->hasOne('App\Bills','id','bill_id');
}
账单:
public function third_party()
{
return $this->belongsTo('App\ThirdParty','third_party','id');
}
我得到 company_name 的 null 值
这是我正在使用的查询
Transaction::with('Bills.third_party')->get();
我已将有问题的 (third_party_name) 更正为 company_name 列名,我在这里写的是我的旧加入查询名称,在屏幕截图中可见,基本上我正在尝试获取公司名称。
【问题讨论】:
-
我不使用 Laravel,但我没有看到任何外键,或者至少没有在我看来像外键。对于#3,该表与其他 2 表有何关系?忘记了最后一个
{'id','company_name',remark}的引号 - 只是说。 -
在Bills表列名中third_party是属于ThirdParty表主键'id'的外键
-
显示相同的雄辩查询
标签: php laravel eloquent eloquent-relationship laravel-5.8