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

Как в yii2 сделать leftJoin() с двумя таблицами?

Вот есть такой рабочий запрос на sql:
SELECT * FROM `client` 
LEFT JOIN `user` ON `client`.`client_id` = `user`.`id`
LEFT JOIN `company` ON `user`.`company_id` = `company`.`id`


Как мне его реализовать на yii2? Мне нужен dataProvider.
Пробовала так, но так не работает
$dataProvider = new ActiveDataProvider([
    'query' => Client::find()
                ->leftJoin('user', 'client.client_id = user.id')
                ->leftJoin('company', 'user.company_id = company.id')
]);


Вот структура БД
58bb0eec25434bb08f28d8947535a026.jpg
  • Вопрос задан
  • 14214 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@matperez
Пропишите реляции в модели User и можно будет писать $query = User::find()->joinWith('client')->joinWith('company').
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Pr0per
@Pr0per
Software Engineer/Beginner Web Developer
Для таких простых вещей думаю будет достаточно (пункт "Работа со связными данными").
Ответ написан
Комментировать
@hakerdad
'query' => Client::find()->joinWith(['user.company']);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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