@Snewer

Как в ActiveRecord получить соединенную таблицу?

Здравствуйте!

Имеется некоторая ActiveRecord модель Admin, которая представляет таблицу следующей структуры:
id
user_id
admin_value

Так же имеется ActiveRecord модель User, которая представляет таблицу:
id
username
email

Можно ли при получении данных из первой модели: Admin::findOne()
получить данные в виде (в обычном запросе я использовал бы JOIN и на выходе получил бы требуемый массив):

user_id
username
email
admin_value

т. е. нужно что бы одна модель выводила свойства обеих моделей сразу
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
Вам нужно почитать документацию на тему связей в Yii, суть Вашего вопроса как раз в связях
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@jus0807
Данные из модели user в модели admin вы можете получить или через связь, как вы правильно написали $admin->user->username
или есть второй вариант, - выбрать данные как массив, но тогда автодополнение в IDE работать не будет.
Выглядеть это будет примерно так Admin::find()->with('user')->select(['admin.*', 'user.username'])->asArray()->all();
на выходе вы получите массивы значений всех полей из таблицы админ и связанными с ними значений username. Как-то так.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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