Laravel 5 hasMany relation sur deux colonnes

Est-il possible d'avoir un hasMany relation sur deux colonnes?

Mon tableau a deux colonnes, user_id et related_user_id.

Je veux que mon rapport à correspondre à l'une des colonnes.

Dans mon modèle, j'ai

public function userRelations()
{
    return $this->hasMany('App\UserRelation');
}

Qui exécute la requête: select * from user_relations where user_relations.user_id in ('17', '18').

La requête j'ai besoin d'exécuter est:

select * from user_relations where user_relations.user_id = 17 OR user_relations.related_user_id = 17 

EDIT:

Je suis en utilisant impatient de chargement et je pense que cela va affecter la façon dont il aura à travailler.

$cause = Cause::with('donations.user.userRelations')->where('active', '=', 1)->first();
  • C'est peut-être préférable de simplement filtrer les UserRelation modèle par ces deux colonnes?
InformationsquelleAutor CharliePrynn | 2015-04-20