2016-07-27 4 views
0

Я пытаюсь выполнить dsiplay некоторые данные на мой взгляд, но не имею понятия, что нужно перебирать многомерные массивы.Laravel красноречивые данные из таблицы отношений

Мой контроллер:

public function menue() { 
    $articles = Article::nowpublished()->get(); 
    //$restaurants = User::all(); 
    $restaurants = User::with('articles')->get();; 


    return view('pages.menues')->withArticles($articles)->withRestaurants($restaurants); 
} 

Это то, что я делаю на мой взгляд:

@foreach($restaurants as $restaurant) 

      <div class="panel panel-default"> 
       <div class="panel-heading"> 
       <span>{{$restaurant}}</span> 
       <span class="float-right">{{$restaurant->published_at}}</span> 
       </div> 

       <div class="panel-body"> 
        {{$restaurant->body}} 
       </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" 
     } 
    ] 
} 

Мой вопрос, как может Я получаю/отображаю массив «articles» внутри переменной $ restaurant?

ответ

0

Вы можете создать:

@foreach($restaurant->articles as $article) 
    {{$article->id}} 
@endforeach 
+0

У меня есть доступ к $ ресторан-> имя, а также свойства внутри массива статей –

+0

Если вы посмотрите внимательно на Еогеасп вы обращаетесь {{$ ресторан-> body}}, который является дочерним массивом и ваши петли foreach только один раз. тело - это ключ, который в 3 раза больше, чем я вижу на вашем выходе. Когда foreach зацикливается только один раз, {{$ restaurant-> body}} не знает, какое тело можно захватить из 3 доступных. Вот почему вам нужен другой цикл foreach, как я упоминал выше. –

Смежные вопросы