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