我有三个模特
Markt通过hasManyThrough koppel_standhouders_markten
拥有许多支持者markt表的id与koppel_standhouders_markten中的markt_id相匹配。 Koppel_standhouders_markten有一个standhouder_id,它与standhouders的id相匹配。
我将hasManyThrough定义如下:
return $this->hasManyThrough(
'App\Models\Standhouder',
'App\Models\Koppel_standhouders_markten',
'markt_id', // Foreign key on Koppel_standhouders_markten table...
'id', // Foreign key on Standhouder table...
'id', // Local key on markt table...
'standhouder_id' // Local key on Koppel_standhouders_markten table...
);
我会看到这是正确的,但是当我查看我的数据时。它已将koppel_standhouders_markten的id与Standhouders中的id匹配,而不是从koppel_standhouders_markten获取standhouder_id以匹配standhouders的id。
真的希望有人可以帮助我。它一定是简单的我做错了。
答案 0 :(得分:0)
我相信你混淆了一些参数。
我认为你应该如何定义它:
return $this->hasManyThrough(
'App\Models\Standhouder',
'App\Models\Koppel_standhouders_markten',
'markt_id',
'standhouder_id'
);
最后两个参数是本地ID,因为您无论如何都要使用id
列,因此您无需明确定义。
答案 1 :(得分:0)
我遇到的问题是hasManyThrough只有4个参数。 2为模型,2为外键。直到laravel 5.5,您还可以输入本地密钥。