Задать вопрос
@yura_born

Как сделать hasmany() c двумя условиями в ON?

Возможно ли в hasmany() передать 2 условия. Мне нужно что бы в запросе получилось к примеру:

SELECT ... LEFT JOIN ... ON user.id = user_rank.id_user AND date_end is null

Если пишу вот так:
return $this->hasMany(SotrRank::className(),['sotr_code' => 'code'])->where(['date_end'] => null);


То условие Where применяется ко всему запросу а не к LEFT JOINу в ON
  • Вопрос задан
  • 206 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@yura_born Автор вопроса
Все, нашел!!!!

вот так:
public function getActiveUsers()
{
    return $this->hasMany(User::className(), ['id' => 'user_id'])
                ->onCondition(['active' => true]);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы