我使用的是laravel 5.2。我的数据库设置为:
social_logins
ID | social_id | provider
-----------------------------
1 | x | twitter
2 | y | facebook
3 | z | twitter
twitter_data
ID | social_id | some_value
-------------------------------
1 | x | 100
2 | y | 200
3 | z | 100
我的social_logins模型的关系设置为:
public function twitterData()
{
return $this->hasMany('App'Models'TwitterData', 'social_id');
}
我想检索表中social_id外键的所有twitter数据。到目前为止,我已经试过了:
$socialLogin = Social::find($id);
dd($socialLogin->twitterCounts);
但是当我尝试这个时,我只是得到一个空集合
Collection {#346 ▼
#items: []
}
如何在laravel 5.2中检索外键的一对多关系?
请注意,当我手动这样做:
TwitterData::where('social_id', $socialLogin->social_id)->get();
返回所有正确的数据
为关系方法添加本地键:
public function twitterData()
{
return $this->hasMany('App'Models'TwitterData', 'social_id','social_id');
}