2014-09-01 118 views
1

我正在應用Laravel-4應用程序,並且我正在使用javascript templates在特定頁面上呈現項目。下面是我的模板,我的幻燈片項目在javascript模板中輸出Laravel變量

<script type="t/template" id="bookItem"> 
     <div class="resource-wrap" data-resource="@{{=type}}"> 
      <div class="resource @{{=type}}"> 
       @{{id}} 
       <div class="image"> 
       @foreach($slideshow->find($slideshow->id)->slides()->take(1)->get() as $slide) 
        <img width="100%" height="100%" src="/img/slideshows/{{$slide->link}}"/> 
       @endforeach 
       </div> 
       @{{/id}} 
       <ul class="info"> 
        <li class="title"><a href="#">@{{=id}}@{{=title}}@{{=name}}</a></li> 
        <li><a href="#">@{{=desc}}</a></li> 
       </ul> 
       <a class="ov [email protected]{{=type}}" href="#"></a> 
      </div> 
     </div> 
</script> 

它在頁面上好嗎渲染和除了一件事一切正常。此行:

@foreach($slideshow->find($slideshow->id)->slides()->take(1)->get() as $slide) 

我想通過當前項目的ID,但似乎無法這樣做。我可以在這裏:

<li class="title"><a href="#">@{{=id}}@{{=title}}@{{=name}}</a></li> 

但是,當我在循環使用@{{=id}}我得到一個錯誤。我想知道如何在循環中打印出這個變量?

+1

行'$ slideshow->找到($如果你可以做'$ slideshow-> id',你不需要' - > find()',假設我們在這裏討論Eloquent模型。 – JofryHS 2014-09-01 22:33:42

+0

此外'@foreach($ slideshow-> find($ slideshow-> id) - > slides() - > take(1) - > get()as $ slide)''沒有多大意義,如果你只有1個項目,「@ foreach」有什麼意義? – Adrenaxus 2014-09-02 12:53:18

回答

0

我傾向於避免在控制器中查看和查詢查詢,將集合傳遞給視圖 - 使其在視圖中更清晰。保持景觀獨立儘可能

因此,假如你通過一個變量$slideshow這是你的收藏,你可以再做:

  <div class="image"> 
      @foreach($slideshow AS $slide) 
       <img width="100%" height="100%" src="/img/slideshows/{{$slide->link}}"/> 
      @endforeach 
      </div> 

我不清楚$ ID涉及您的問題什麼價值。這是幻燈片的ID嗎?如果是的話只要它包含在循環中,您可以得到由$ slide-> ID

如果假設是錯誤的,你可以確認哪些ID涉及到