我正在使用Laravel的Blade模板,並試圖使用@foreach
循環顯示通知。問題是,如果我有10個通知,第一個通知會重複10次。在每個foreach循環迭代中重複包含的刀片模板
代碼輸出每一個通知:
@foreach (Auth::user()->unreadNotifications as $notification)
{{ $notification->type->web_template }}
{{ $notification->id }}
@include($notification->type->web_template)
@endforeach
web_template
將輸出到模板的路徑:notifications.web.user_alert
對於循環的每次迭代的{{ $notification->type->web_template }}
和{{ $notification->id }}
將輸出他們應該是什麼但@include($notification->type->web_template)
只會每次輸出第一個通知。
所以輸出如下:
156 notification.web.new_message
你必須從喬新的消息。
154 notification.web.user_alert
你必須從喬新的消息。
145 notification.web.new_like
你必須從喬新的消息。
我認爲這是某種形式的緩存問題,也許,但我無法找到同樣的問題的人。
任何想法?
UPDATE:添加一些代碼
示例通知視圖:
@extends('layouts.notification-wrapper')
@section('url', url('jobs/'.$notification->job_id.'#highlight'.$notification->bid_id))
@section('image', '/assets/img/no-photo.jpg')
@section('header', $notification->collector->firstname . ' ' . $notification->collector->secondname)
@section('description')
has placed a bid of €{{ number_format($notification->bid()->withTrashed()->first()->amount,0) }} on your job.
@stop
通知包裝:
<li @if(!$notification->read)
class="unread"
@endif>
<a href="@yield('url')" data-id="{{ $notification->id }}">
<div class="pull-left">
<img src="@yield('image')" class="img-circle" alt="user image">
</div>
<h4>
@yield('header')
<small><i class="fa fa-clock-o"></i> {{ $notification->created_at->diffForHumans()}}</small>
</h4>
<p> @yield('description')</p>
</a>
</li>
不應該將通知傳遞給包含嗎? '@include($ notification-> type-> web_template,['notification'=> $ notification])' – lukasgeiter
我改變了它,但它仍然重複相同的模板。 –
視圖是什麼樣子的?請把它放在問題中。 – mininoz