2016-09-10 9 views
1

私はlaravel 5.2を使用しています。私はsocial_idの外部キーを持つすべてのTwitterのデータをバック取得したいlaravel 5.2で1つ以上の外部キーとの関係を取得する方法は?

public function twitterData() 
    { 
     return $this->hasMany('App\Models\TwitterData', 'social_id'); 
    } 

:social_loginsモデルのための私の関係は以下のように設定されている

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 

:私のデータベースは、以下のように設定されています表。

$socialLogin = Social::find($id); 
dd($socialLogin->twitterCounts); 

を私はこれをしようとするとき、私はちょうど私がlaravel 5.2の外部キーを持つ多くの関係に1を取得するにはどうすればよい空のコレクション

Collection {#346 ▼ 
    #items: [] 
} 

を取得する:これまでのところ私が試しましたか?

TwitterData::where('social_id', $socialLogin->social_id)->get(); 

それは正しく、すべてのデータを戻る:

私はこのようなものを使って手動でこれを行うときに注意してください。

答えて

1

あなたの関係のメソッドにローカルキーを追加します。

public function twitterData() 
    { 
     return $this->hasMany('App\Models\TwitterData', 'social_id','social_id'); 
    } 
+0

はどうもありがとうございました。あなたはそれをしなければならないと気付かなかった。 – kevinabraham

関連する問題