2017-03-26 3 views
0

2つの独立したテーブルパブリッシャーとプロモーションがあります。私の3番目のテーブルプロモーション通知には、プロモーションIDとパブリッシャーIDが含まれています。 1つのプロモーションを選択すると、通知されたパブリッシャーと通知されないパブリッシャーを表示する必要があります。 3番目のテーブル以外の方法があれば教えてください。前もって感謝します。3つ目のテーブルを使用した2つのラーベルテーブルの接続

答えて

1

それはdoesnの場合は

public function promotion() 
    { 
     return self::join('promotion_notify', 'publishers.id', '=', 'promotion_notify.publishers_id') 
      ->join('promotions', 'promotion_notify.promotion_id', '=', 'promotions.id') 
      ->where('users.id', $this->id) 
      ->all(); 
    } 

のようなサイト運営モデルに関数を作成することができます; tはthisをチェックしますか助けます。プロモーションモデルで

私が得ることができるピボットを使用して

public function publisher() 
{ 
    return $this->hasMany('publisher'); 
} 
出版モデルでは

public function promotion() 
    { 
     return $this->belongsTo('promotion'); 
    } 
+0

次のように唯一の2つのテーブルを使用して、モデル内の関係を定義するために良いアイデアかもしれません通知されたサイト運営者通知されていないサイト運営者を獲得する考えはありますか? –

+0

あなたのモデルに応じて、クエリを使用する必要があります。ブール値(1 =通知済み、0 =通知されていない)がある場合、クエリは次のようになります。 Publishers :: where( 'is_notified'、 '1') - > get(); P.S is_notifiedは、通知されたかどうかを表すために使用しているデータベース内の列の名前です – Saurav

関連する問題