Ich habe zwei Tabellen: users
mit Primärschlüssel id
und friends
mit Fremdschlüssel user1
und user2
sowohl in Bezug auf Benutzer-id
.hasMany mit ‚oder‘ Zustand
In Benutzer Modell Ich habe
public function getFriends() {
return $this->hasMany(Friends::className(), ['user1' => 'id'])->inverseOf('user');
}
User::find()->with('friends')->all()
nur die Freunde, wo benutzer1 Matches des Benutzers id gegeben.
Wie soll ich getFriends()
ändern, um Freunde mit user1 oder user2 zu finden, die auf die ID des Benutzers abgestimmt sind?
Es die folgenden Abfragen generiert: SELECT * FROM Freunde WHERE (user1 = user2) und (user2 = 123) 'und' SELECT * FROM freunde WHERE 0 = 1' (123 ist die ID des Benutzers) – Alexey
oh yeah, es schien mir etwas komisch, hast du schon eine Lösung gefunden? – Ripper