Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.03.2016 15:39:58

Запрос из двух таблиц

Доброго дня! Подскажите, новичку как правильно вывести данные в представление
Есть две таблицы -
Table_Posts
id
slug

Table_Images
id
post_id
name

В контроллере -
$posts=Post::all

В представлении -

@foreach($posts as $post)
        <p>{!!$post->id!!}</p>
        <p>{!!$post->slug!!}</p>
@endforeach

Как в представлении добавить в каждый выводимый в цикле пост все записи 'name' изображений с соответствующим post_id если таких записей в таблице Table_Images несколько?

Не в сети

#2 12.03.2016 03:15:59

duster
Откуда: Мельбурн
Сообщений: 148

Re: Запрос из двух таблиц

PHP
// Добавить предварительную загрузку отношения image
$posts Post::with('images')->get();

// Добавить цикл для картинок, используя magic property (там коллекция уже загружена)
@foreach($posts as $post)
        <
p>{{ $post->id }}</p>
        <
p>{{ $post->slug }}</p>
        @foreach(
$post->images as $image)
              {{ 
$image->name }}
        @endforeach
@endforeach

Не в сети

#3 12.03.2016 09:17:29

Re: Запрос из двух таблиц

Благодарю за ответ! Ранее я использовал в представлении вложенный цикл, но это выглядело совсем громоздко и неуклюже -
@foreach($posts as $post)
<p>{!!$post->id!!}</p>
@foreach(\App\Image::where('post_id', '=', $post->id)->get() as $image)
<p>{!!$image->name!!}</p>
@endforeach
@endforeach

Не в сети

#4 12.03.2016 18:30:36

Re: Запрос из двух таблиц

duster а связывать таблицы не нужно разве ?

Не в сети

#5 13.03.2016 15:50:09

duster
Откуда: Мельбурн
Сообщений: 148

Re: Запрос из двух таблиц

[quote=potMaster]duster а связывать таблицы не нужно разве ?[/quote]

Конечно, надо. Я просто подумал, что они (модели) уже связаны — автор вопроса об этом ничего не говорил.

Не в сети

#6 13.03.2016 18:52:04

Re: Запрос из двух таблиц

Да поставил связь один ко многим. Это же и есть функция 'images'.

Не в сети

Подвал раздела