2015-04-15 73 views
3

我正在使用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> 
+0

不應該將通知傳遞給包含嗎? '@include($ notification-> type-> web_template,['notification'=> $ notification])' – lukasgeiter

+0

我改變了它,但它仍然重複相同的模板。 –

+0

視圖是什麼樣子的?請把它放在問題中。 – mininoz

回答