J'essaie d'utiliser ORM pour la première fois, je l'ai défini les modèles comme celui-ci:ORM: relation amitié/Buddylist
modèle utilisateur:
class User extends Eloquent
{
public function friends()
{
return $this->has_many_and_belongs_to('User', 'friends', 'user1_id', 'user2_id');
}
}
modèle ami:
class Friend extends Eloquent
{
public function friend()
{
return $this->belongs_to('User', 'user_id');
}
}
amis table mysql:
id (pkey) # user1_id (references users.user_id) # user2_id (references users.user_id)
En ce moment à l'aide $user->friends
je reçois une liste unilatérale parce que les paramètres de base de données d'amis peuvent être dans un ordre (user1 est ami de user2 OU user2 est ami de user1). Ce serait bien si j'essayais d'utiliser l'approche suivante/suiveur, mais je veux que ce soit réciproque.
Quelle est la meilleure façon de faire ce genre de choses? L'insertion de duplication user1/user2 et user2/user1 sur la base de données ne semble pas être une bonne approche et je ne saurais même pas comment la traduire dans l'ORM. De plus, il semble que le modèle Friend ne soit pas utilisé/ne soit pas appelé du tout. Je vais aussi avoir un problème similaire sur le système ami d'invitation.