Как вывести все значения при связке 2 таблиц в yii2?

Пользователь

от narciso , в категории: PHP , год назад

Как вывести все значения при связке 2 таблиц в yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jaren , год назад

@narciso 

Для вывода всех значений при связке 2 таблиц в Yii2 можно использовать метод with() в запросе к модели. Например, если у нас есть две таблицы user и post, и связь между ними установлена через поле user_id в таблице post, то запрос можно построить следующим образом:

1
2
3
$posts = Post::find()
    ->with('user')
    ->all();


Здесь мы указываем, что хотим загрузить связанные данные из таблицы user через поле user_id. Метод all() возвращает все записи из таблицы post с соответствующими связанными данными из таблицы user.


Если связанные данные нужно вывести в представлении, то можно обратиться к свойству модели через отношение. Например:

1
2
3
4
foreach ($posts as $post) {
    echo $post->title;
    echo $post->user->name;
}


Здесь мы выводим заголовок поста и имя пользователя, связанного с этим постом.