@petr_reznikov

Как объединить данные из двух таблиц в одну YII?

Имеется 2 таблицы org_special_price и incident Таблица org_special_price
626a7f928b894281383066.png
В таблице incident есть поле client_org_id Я пытаюсь найти соответствия по org_id и client_org_id и если такое есть - добавить все столбцы из org_special_price

для этого я использую leftJoin

$incidents = Incident::find()
            ->leftJoin('org_special_price', 'org_special_price.org_id = incident.client_org_id')
            ->where(['incident.partner_org_id' => $org_id])
            ->all();


но затем - пытаюсь вывести для проверки во view через print_r($incidents) я нужных столбцов не вижу Подскажите, пожалуйста, где моя ошибка?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@bgmir607605
Можно перед вызовом ->all() добавить ->asArray()
https://www.yiiframework.com/doc/api/2.0/yii-db-ac...
И select() с нужными параметрами указать
https://www.yiiframework.com/doc/guide/2.0/en/db-a...
https://www.yiiframework.com/doc/api/2.0/yii-db-qu...

В таком случае получите все необходимые столбцы, НО!
Результат будет в виде массивов, а не моделей.
Если дальше необходимо работать именно как с моделью, то можно создать динамическую модель.
https://www.yiiframework.com/doc/api/2.0/yii-base-...

Всё-таки сначала нужно задуматься о целесообразности такого использования и перепроектировании классов
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы