Laravel Eloquent Join 2 Tabellen

Diese sind meine Modelle:

class Branch extends Eloquent {

    protected $table = 'tb_branch';

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

class Faculty extends Eloquent {

    protected $table = 'tb_faculty';

    public function branch() 
    {
        return $this->belongsTo('Branch');
    }

}

In der Abteilung Tabelle habe ich eine Spalte mit Fremdschlüssel user_id dass links zu Benutzer-Tabelle.

In der Fakultät Tabelle habe ich eine Spalte mit Fremdschlüssel branch die links verzweigen Tabelle mit Spalte name.

Und jetzt muss ich abrufen Fakultät Daten basierend auf den aktuell angemeldeten Benutzer (mit Eloquent).

Ich mir vorstellen, die Arbeit fließen würde:

  • abrufen der id des derzeit angemeldeten Benutzers
  • link, der die id der Niederlassung user_id und abrufen Niederlassung name
  • link, Niederlassung name Fakultät der Niederlassung name und abrufen alle abgestimmt Fakultät Daten

Nun das ist, was ich versucht habe, es hat nicht funktioniert:

$user_id = Sentry::getUser();
$faculty = Faculty::with('branch')->where('branch.user_id',$user->id)->get();

Fehler sagt:

Unbekannte Spalte 'Zweig.user_id' in 'where-Klausel' (SQL: select * from
tb_faculty wo branch.user_id = 6)

Wie kann ich erreichen, das mit Eloquent?

InformationsquelleAutor user2002495 | 2014-05-20
Schreibe einen Kommentar