JohnDaniels
@JohnDaniels

Как отфильтровать данные по связанной таблице?

Здравствуйте.

Есть модели User и Company.
class User extands ActiveRecord{
//
public function getCompany()
    {
        return $this->hasOne(Company::className(), ['user_id' => 'id']);
    }

    public function getIsCompany()
    {
        return $this->company ? true : false;
    }
}


Я хочу получить список пользователей, у которых нет Company, то есть примерно так
$query = User::find();

$dataProvider = new ActiveDataProvider([
   'query' => $query,
]);
    
$query->where(['company' => false]);


И получаю ошибку что
Unknown column 'company'.

Как это правильно сделать?
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
qonand
@qonand
Software Engineer
$dataProvider = new ActiveDataProvider([
   'query' => $query,
]);
    
$query->joinWith('company')->where(['is','user_id',null]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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