dd($var) работает и показывает, но {{$var}} дает неопределенный объект Laravel5.8

Я получаю данные, которые хочу показать, из цикла foreach, подобного этому

 @foreach(auth()->user()->unreadNotifications as $notification)
{{dd($notification->data)}}
{{--{{dd($notification->data['thread']['id'])}}--}}
{{--{{dd($notification->data['thread']['subject'])}}--}}
{{--{{dd($notification->data['user']['name'])}}--}}
@endforeach

Все dd показывают данные, которые должны отображаться без каких-либо ошибок, но когда я выполняю такой цикл.

        @foreach(auth()->user()->unreadNotifications as $notification)
                            <a href="{{ropgpute('thread.show',$notification->data['thread']['id'])}}">
                                {{$notification->data['user']['name']}} commented on <strong> {{$notification->data['thread']['subject']}}</strong>
                            </a>
        @endforeach

его возвращает ошибку ошибки:

  Undefined index: thread (View: C:\Users\Merlijn\AppData\Roaming\Composer\Laravel Projects\Forum\resources\views\layouts\partials\navbar.blade.php) (View: C:\Users\Merlijn\AppData\Roaming\Composer\Laravel Projects\Forum\resources\views\layouts\partials\navbar.blade.php) (View: C:\Users\Merlijn\AppData\Roaming\Composer\Laravel Projects\Forum\resources\views\layouts\partials\navbar.blade.php)

Обратите внимание, что user не определено

Я не понимаю, почему dd работает нормально и показывает данные, но обычный цикл foreach без данных ничего не показывает и возвращает неопределенный индексный поток

выход {{dd($notification->data)}}

 array:2 [▼
"thread" => array:8 [▼
"id" => 1
"subject" => "JSUpdated Updated Updated"
"thread" => "eaeaweaweaewaeawawneaklfnd/waldfwa.fwa"
"type" => "Question Updated"
"created_at" => "2019-03-14 15:34:28"
"updated_at" => "2019-03-14 15:34:38"
"user_id" => 1
"solution" => 2
 ]
"user" => array:6 [▼
"id" => 1
"name" => "johndoe"
"email" => "[email protected]"
"email_verified_at" => null
"created_at" => "2019-03-14 15:34:15"
"updated_at" => "2019-03-14 15:34:15"
]
]

person HashtagForgotName    schedule 19.03.2019    source источник
comment
Не могли бы вы опубликовать dd из $notification->data?   -  person Alberto Guilherme    schedule 19.03.2019
comment
Проблема с dd заключается в том, что он убьет приложение, поэтому, если проблема связана со второй итерацией foreach, вы не сможете ее увидеть. Попробуйте изменить на var_dump($notification->data) и посмотрите, все ли $notification имеют запрошенный fields   -  person Alberto Guilherme    schedule 19.03.2019
comment
Будете ли вы всегда возвращать этот массив из 2 или у вас может быть больше?   -  person Alexander Villalobos    schedule 19.03.2019
comment
да только тот массив из 2   -  person HashtagForgotName    schedule 21.03.2019


Ответы (2)


Я заметил, что значение $notification->data['thread'] равно "eaeaweaweaewaeawawneaklfnd/waldfwa.fwa". Это строка. Затем в вашем коде вы пытаетесь $notification->data['thread']['id']. Это означает, что вы пытаетесь получить некоторое значение массива, но на самом деле ваши данные являются строкой.

person Davit    schedule 19.03.2019
comment
Так как бы вы их вытащили в таком случае? - person HashtagForgotName; 21.03.2019

dd => dump and die. поэтому, если вы включили цикл, он сначала сбросит значение и прервет приложение от продолжения.

person user10128333    schedule 20.03.2019