• Как в YII2 выбрать только нужные столбцы при жадной загрузке?

    @acid23m Автор вопроса
    Вот мой запрос:
    $data = AddressClassificator::find()
                ->select('id, iata')
                ->with(['addressClassificatorTranslates' => function($query) {
                    $query->addSelect(['id', 'name', 'country', 'city']);
                    $query->andWhere(['lang' => Yii::$app->language]);
                }])
                ->asArray()
                ->all();

    Сформированный SQL
    SELECT `id`, `name`, `country`, `city` FROM `addressClassificatorTranslate` WHERE (`lang`='ru-RU') AND (`addressClassificator_id` IN ('1', '2'))

    SELECT `id`, `iata` FROM `addressClassificator` ORDER BY `iata`

    на выходе
    [
        0 => [
            'id' => '1'
            'iata' => 'AAA'
            'addressClassificatorTranslates' => []
        ]
    ]
    Ответ написан
    Комментировать