есть 2 таблицы:
user (стандартная для yii advanced), id + другие поля
user_relations в которой id(PK), user_id, invite_id, type
необходимо сделать связь которая выберет все user_relations, где или user_id или invite_id равны user->id
пробую так:
public function getFriendsList(){
return $this->hasMany(UserRelation::className(),['user_id'=>'id'])->orWhere(['invite_id'=>$this->id]);
}
ошибок нет, но выборка пустая. Лезу в дебаг и вижу, что мое orWhere превратилось в AND:
SELECT * FROM `user_relation` WHERE (`invite_id`=1) AND (`user_id`=1)
Я приболел или yii?
еще пробовал так:
public function getFriendsList(){
return $this->hasMany(UserRalation::className(),['user_id'=>'id'])->orOnCondition(['invite_id'=>'id']);
}
результат идентичный