maxkh
@maxkh
Web developer

Yii2 AR: Joining with Relations?

Мне не совсем понятно поведение Active Record в Yii2, когда мы используем метод

joinWith();

Пример кода

// Relation is has many
return $this->hasMany(Cars::className(), ['user_id' => 'id']);

// Create and execute query to the db
User::find()->select(['user.*', 'cars.*'])->joinWith(['cars'])->where(['user.id' => $id])->one()


Данный код генерирует 2 запроса

SELECT `user`.*, `cars`.* FROM `user` LEFT JOIN `cars` ON `user`.`id` = `cars`.`user_id` WHERE `user`.`id`='54'

SELECT * FROM `cars` WHERE `user_id`=54


В случае с has one такое же поведение.

Версия Yii2: 2.0.7
Версия PHP: PHP 5.6.15-1~dotdeb+7.1 (cli)
Операционная система: Linux api 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3 x86_64
  • Вопрос задан
  • 1348 просмотров
Пригласить эксперта
Ответы на вопрос 1
EnChikiben
@EnChikiben
во Yii2 отказались от join в пользу двух отдельный запросов
Ответ написан
Ваш ответ на вопрос

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

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