@m4tkv

Как обьединить модели yii2?

Использую yii2. Есть 2 таблицы, условно юзер(id,address,...) и профиль(id,user_id,...) 1: n. В таблице юзер есть данные, такие как адрес, которые относятся к каждому профилю юзера. Создал через gii 2 модели ActiveRecords. В контроллере вызываю статическую функцию Profile::getProfiles(condition)
function static getProfiles(condition){
       return self::find()->where(condition)—>all();
}

Теперь у меня есть массив объектов профилей из актив рекордс. Но я хочу добавить к каждому профилю адрес из таблицы юзерс. Когда я добавляю к объекту профиля новое свойство, ActiveRecords ругается и не дает добавлять поля, которые не описаны. Подскажите как грамотно это сделать?
Необходимо получить массив профилей, в которые добавить адрес по user_id
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
kawabanga
@kawabanga
1) Не нужна вам тут статическая функция. Читаем про связи - commercito.ru/hasone-hasmany-svyazannye-dannye-v-y... .
2)
Необходимо получить массив профилей, в которые добавить адрес по user_id

- что это за действие? если обновление адреса, то сделайте запрос в ActiveRecord.
В другом случае используйте getAddress - магическое поле, по отношению hasOne к таблице user.
Ответ написан
Ваш ответ на вопрос

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

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