2017-02-14 13 views
0

У меня есть коллекция MongoDB с несколькими встроенными документами. Это как мой образец документа выглядит следующим образом:Laravel 5.4 с MongoDB - попытка получить внедренные документы

{ 
    "_id" : ObjectId("58a331ffb854d000f97862f3"), 
    "first_name" : "John", 
    "last_name" : "Doe", 
    "email" : "[email protected]", 
    "password" : "$2y$10$fIuECeTqvSUY1g.VPgWxceEzB0/q2OtgDXlm9ZTqwY77U74hVEe6q", 
    "updated_at" : ISODate("2017-02-14T16:36:15.079Z"), 
    "created_at" : ISODate("2017-02-14T16:36:15.079Z"), 
    "diagnosis" : [ 
     { 
      "d_name" : "Asthma", 
      "d_isTreated" : "No", 
      "d_diagnosed_at" : "2017-02-14" 
     }, 
     { 
      "d_name" : "Bronchitis", 
      "d_isTreated" : "No", 
      "d_diagnosed_at" : "2017-02-14" 
     }, 
     { 
      "d_name" : "Hepatitis C", 
      "d_isTreated" : "No", 
      "d_diagnosed_at" : "2017-02-14" 
     } 
    ] 
} 

Родительский документ принадлежит User класса. Однако, когда на мой взгляд домашней страницы Я пытаюсь получить список диагностики для каждого пользователя, как это:

<center> 
    @foreach($users as $user) 
     {{ $user->diagnosis }} 
    @endforeach 
</center> 

Laravel не может получить массив diagnosis объектов и выдает ошибку:

ErrorException in helpers.php line 532: 
htmlspecialchars() expects parameter 1 to be string, array given (View: /Users/janisozolins/Sites/patientapp/resources/views/home.blade.php) 

Как получить эти массивы? Я также планирую добавить их еще больше, добавив Prescriptions вложенные документы в каждый из документов Diagnosis.

ответ

0

Вам необходимо выполнить итерацию по диагностическому массиву.

@foreach($users as $user) 
     @foreach $diagnosis as $user->diagnosis 
      {{ var_dump($diagnosis) }} 
     @endforeach 
    @endforeach 
+0

Это, кажется, правильный подход, однако, система теперь возвращает 'ErrorException в CompilesLoops.php строке 80: Undefined смещение: 1'. Я предполагаю, что это связано с использованием неправильного смещения массива при его извлечении? – JanisOzolins