dd ($ var) работает и показывает, но {{$ var}} дает неопределенный объект Laravel5.8 - PullRequest
1 голос
/ 19 марта 2019

Я получаю данные, которые хочу показать, из цикла 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" => "johndoe@example.com"
"email_verified_at" => null
"created_at" => "2019-03-14 15:34:15"
"updated_at" => "2019-03-14 15:34:15"
]
]

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

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

0 голосов
/ 19 марта 2019

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

...