Задать вопрос
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'.

Как это правильно сделать?
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Решения вопроса 1
qonand
@qonand
Software Engineer
$dataProvider = new ActiveDataProvider([
   'query' => $query,
]);
    
$query->joinWith('company')->where(['is','user_id',null]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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