Задать вопрос
@newbee

Yii2 activeRecord — joins — как грамотно получить результаты выборки?

Скажем, есть 2 таблицы: user(id, name, pass), и post(id, text, user_id), связанные FOREIGN KEY в модели Post:
public function getUser(){
    return $this->hasOne(User::className(), ['id' => 'user_id']);
}

Далее, у нас где-то происходит запрос постов с join'ом юзеров-авторов:
$query = Post::find()->joinWith('user');

Собственно, вопрос:

Как именно из результатов этой выборки получить id юзера, а как id поста?
(префиксы имен столбцов таблиц не рассматриваются, иначе, этот вопрос просто не был бы задан)
  • Вопрос задан
  • 1156 просмотров
Подписаться 1 Оценить Комментировать
Решение пользователя Boris Köln К ответам на вопрос (3)
@BorisKorobkov Куратор тега MySQL
Web developer
Если только id юзера, то $post->user_id
Если другие свойства юзера, то $post->user->name
Для оптимизации надо добавить with (не joinWith!). joinWith нужен только при where по связанной таблицы.
Ответ написан