Я застрял в петле foreach внутри моего шаблона клипа после нескольких часов проб и неудач. Мне нужна помощь.Laravel foreach issues
Мой контроллер
public function menue() {
$restaurants = User::with('articles')->get();;
return view('pages.menues')->withRestaurants($restaurants);
}
Мой Еогеасп
@foreach($restaurants as $restaurant)
<div class="panel panel-default">
<div class="panel-heading">
@foreach($restaurant->articles as $article)
{{$article->title}}
<span class="float-right">{{$article->published_at}}</span>
@endforeach
</div>
<div class="panel-body">
@foreach($restaurant->articles as $article)
{{$article->body}}
@endforeach
{{$restaurant->name}}
</div>
</div>
@endforeach
Это то, что я пытаюсь петлевой корыта:
{
"id":1,
"name":"Sam",
"email":"[email protected]",
"created_at":"2016-07-26 15:03:51",
"updated_at":"2016-07-27 15:39:55",
"articles":[
{
"id":1,
"user_id":1,
"title":"Monday Afternoon",
"body":"got it",
"created_at":"2016-07-27 15:31:05",
"published_at":"2016-07-27 15:30:00",
"excerpt":null,
"updated_at":"2016-07-27 15:31:05"
},
{
"id":3,
"user_id":1,
"title":"Good Morning Wednesday",
"body":"lorem ipsum",
"created_at":"2016-07-27 11:38:37",
"published_at":"2016-07-27 11:38:00",
"excerpt":null,
"updated_at":"2016-07-27 11:38:37"
},
{
"id":4,
"user_id":1,
"title":"Good Morning Thursday",
"body":"lorem ipsum ",
"created_at":"2016-07-27 11:39:14",
"published_at":"2016-07-28 14:38:00",
"excerpt":null,
"updated_at":"2016-07-27 11:39:14"
},
{
"id":5,
"user_id":1,
"title":"Wednesday Afternoon",
"body":"Hallo Welt",
"created_at":"2016-07-27 14:55:00",
"published_at":"2016-07-27 14:54:00",
"excerpt":null,
"updated_at":"2016-07-27 14:55:00"
}
]
}
В результате вместо четырех должностей я получаю только 2 сообщения. Каждый из них содержит другие сообщения. Как я могу отображать все 4 сообщения в отдельности на мой взгляд?
не связано с вашей проблемой, но вы должны рассмотреть [нетерпеливый погрузочные отношения] (https://laravel.com/docs/5.1/eloquent-relationships#eager-loading) вместо пропуская рестораны, а затем итерируя «$ restaurant-> articles» - это спам вашей БД с ненужными запросами, также известными как «проблема N + 1» PS: Хуже то, что вы делаете это дважды (у вас есть 2 отдельных foreach петли) –