2017-08-23 7 views
1

私はキャプテンと彼の紹介との間に関係を作りたいと思っています。彼らは両方とも同じテーブルに属しています。私は私のユーザーテーブルが id名は、どのように私はより良い関係を作るん自己参照関係を作成する

1 xyz   1223   null 
2 Abc   4525   1223 

referred_by referral_id次の列があり、私のモデルに

public function captain() { 
    $this->belongsTo('User', 'referral_id') ; 
} 

public function captain() { 
    $this->hasMany('User', 'referral_id') ; 
} 

これを持っていますか?私ができるかどうか、これを使ってキャプテンの紹介の紹介を得る方法を知りたいのですが

+0

は、理由はなぜすることができますありますテーブル参照を作成しないでください。 – Wistar

+0

@Wistar私は人が自己参照関係を作り、それが可能かどうかを知りたいと思っている –

答えて

1

あなたの紹介のために2番目のテーブルを作成して、すべてのリファラーが保管される表2に1を上書きする。セットアップ関係は、あなたは、単にシンプルな積極的なロードを使用して...または

$captains = App\Captain::all(); 

foreach ($captains as $captain) { 
    echo $captain->referrals->name; 
} 

REF のようなものを呼び出す場合 - >他の方法を使用して(またはなど参加)