У меня есть таблица user
и post
с отношением oneToMany
:
В пост модели:
public function getUser() {
return $this->hasOne(User::className(), ['id' => 'user_id']);
}
И в пользовательской модели:
public function getPosts() {
return $this->hasMany(Post::className(), ['user_id' => 'id']);
}
Я хочу найти всех пользователей, у которых есть хотя бы активный пост. Но я понятия не имею.
Мой целевой SQL:
SELECT * FROM `user`
where id in (select user_id from post where status = 1)
Что я делаю?
User::find()->where(...
обратите внимание: важно, что создано с помощью find(), потому что я хочу использовать его в модели поиска
Спасибо.