Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго дня! Подскажите, новичку как правильно вывести данные в представление
Есть две таблицы -
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 несколько?
Не в сети
// Добавить предварительную загрузку отношения 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
Не в сети
Благодарю за ответ! Ранее я использовал в представлении вложенный цикл, но это выглядело совсем громоздко и неуклюже -
@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
Не в сети
duster а связывать таблицы не нужно разве ?
Не в сети
Не в сети
Да поставил связь один ко многим. Это же и есть функция 'images'.
Не в сети
Страницы 1