2017-12-02 13 views
1

は私が ID が 「他の標準的な認証のもの」Laravel関係とピボット

私も持っている

は、私は、ユーザーテーブルを変更したくない役割テーブル ID 役割をROLE_IDユーザーテーブルを持っています現在、laravel 5.4で提供されているすべての認証機能を実行しているという意味ではありますが、

私は役割を持つユーザーがいます。コーチとプレイヤーが2種類の役割を担っているとしましょう。コーチが選手や選手を追加してコーチに追加して関連付けることを許可する必要があります。

プレーヤーとコーチの新しいモデルを作成せずに、coaches_playersのような別のテーブルでユーザーモデルのロールタイプのコーチとロールタイプのプレーヤーを関連付けることはできますか?もしそうなら、誰かが私を正しい方向に向けることができます。私はゼロからスタートした場合、私は選手とコーチがbelongsToManyなどを通じて関連する必要があります知っているが、私のシステムではすべてがUSER_IDのオフ動作し、私はすべての認証機能を変更したくないなど

  1. がありますユーザーを拡張してそれらを介して関係を作成するプレーヤーとコーチのモデルを作成する方法?
  2. ピボットテーブルcoaches_playersを通じてUserテーブルの2つの列を関連付ける方法はありますか?

あなたの頭の上から離れている場合は、いくつかの指針と場合によってはリンクを探してください。

答えて

0

確かにこれを行うことができます。私はみますおかげで

public function players() 
{ 
    $this->belongsToMany(User::class, 'coaches_players', 'coach_id', 'player_id'); 
} 

public function coaches() 
{ 
    $this->belongsToMany(User::class, 'coaches_players', 'player_id', 'coach_id'); 
} 
+0

:ちょうどcoaches_players表を作成し、Userモデルで新しい関係を定義します。私は継承ルートをダウンしようとしましたが、動作させることができませんでした。私はこれを行くつもりです!! – Mudd

+0

質問:ロールテーブルからrole_idまたはロール名を指定する場所はどこですか?ユーザーレコードには、ユーザーテーブルのrole_idが含まれています – Mudd

+0

@リレーションシップには必要ありません。 –