2017-03-26 11 views
0

Ich habe zwei unabhängige Tabellen Verlage und Promotions. Meine dritte Werbung für die Tabellenwerbung enthält eine Angebots-ID und eine Publisher-ID. Wenn ich eine Aktion auswähle, möchte ich anzeigen, wer die Publisher benachrichtigt und wer nicht benachrichtigt wird. Wenn Sie eine andere Methode als die Verwendung der dritten Tabelle haben, sagen Sie es mir bitte. Vielen Dank im Voraus.Verbindung zwei Laravel Tabellen mit dritten Tabelle

Antwort

1

können Sie eine Funktion in Ihrem Publisher-Modell wie

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(); 
    } 

erstellen, wenn es doesn, Hilfe this überprüfen Sie t.

Es könnte eine bessere Idee, nur zwei Tabellen zu verwenden und die Beziehung in Modell definieren wie:

In Fördermodell

public function publisher() 
{ 
    return $this->hasMany('publisher'); 
} 

Im Verlag Modell

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

Dreh mit i bekommen die Publisher, die benachrichtigt werden. Haben Sie eine Idee, Publisher zu erhalten, die nicht benachrichtigt werden? –

+0

müssen Sie Abfrage verwenden, abhängig von Ihrem Modell. Wenn Sie einen booleschen Wert haben (1 = notified und 0 = not notified), lautet Ihre Suchanfrage: Verleger :: where ('is_notified', '1') -> get(); P.S is_notified ist der Name der Spalte in Ihrer Datenbank, die Sie für die Benachrichtigung verwenden oder nicht – Saurav

Verwandte Themen