我正在使用 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 外键取回所有推特数据。到目前为止,我已经尝试过:
$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');
}
关于php - 如何在 Laravel 5.2 中获得与外键的多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39424094/