Laravel Éloquent Joindre 2 Tables

Ce sont mes modèles:

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

}

En direction de la table, j'ai mis une colonne de clé étrangère user_id que des liens vers table des utilisateurs.

À la faculté de table, j'ai mis une colonne de clé étrangère branch, qui mène en direction de la table avec les colonnes de name.

Et maintenant j'ai besoin de récupérer de la Faculté des données basées sur l'utilisateur actuellement connecté (avec Éloquent).

J'imagine que le flux de travail serait:

  • récupérer l'id de l'utilisateur actuellement connecté
  • lien que l'id de la direction générale user_id et de récupérer de la direction générale de name
  • lien de la direction générale de name à la faculté de la direction générale de name et de récupérer tous appariés faculté de données

Maintenant, c'est ce que j'ai essayé, ça ne marchait pas:

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

D'erreur dit:

Inconnu de la colonne de direction générale.user_id' in 'where clause' (SQL: select * from
tb_facultybranch.user_id = 6)

Comment puis-je réaliser cela avec Éloquent?

InformationsquelleAutor user2002495 | 2014-05-20