2014-07-25 30 views
0

我試圖在Laravel 4中顯示一個數據表形式的foreach數據透視表。我以我以前做過的同樣的方式做,但現在它不工作。我做錯了什麼......而我不知道是什麼!這裏是我的代碼:Laravel 4 - 爲foreach提供的無效參數()

我的模型:

Ficha 

public function contenidos() 
{ 
    return $this->belongsToMany('Contenido', 'contenido_ficha')->withTimestamps(); 
} 

Contenido 

public function fichas() 
{ 
    return $this->belongsToMany('Ficha', 'contenido_ficha')->withTimestamps(); 
} 

我的控制器:

public function myShow($id, $slug) 
{ 
    $ficha = Ficha::where('id', $id)->first(); 

    $date = $ficha->created_at; 
    setlocale(LC_TIME, 'Europe/Madrid'); 
    $date = $date->formatlocalized('%A %d %B %Y'); 

    return View::make('fichas.show') 
     ->with('ficha', $ficha) 
     ->with('date', $date); 
} 

筆者認爲:

@foreach ($ficha->contenidos as $contenido) 
    {{ $contenido->nombre }} 
@endforeach 

謝謝v很多任何幫助!

+0

這段代碼沒問題,問題出在其他地方。不過我建議你在app/config中設置語言環境而不是'setlocale()' –

+0

謝謝@deczo,以及關於可能是什麼問題的任何想法? – JaviZu

+0

你碰巧在那裏有另一個'foreach'嗎? –

回答

0

試試這個,因爲你沒有檢查$ficha實際上是否有任何contenido

@if ($ficha->contenidos->count()) 
    @foreach ($ficha->contenidos as $contenido) 
     {{ $contenido->nombre }} 
    @endforeach 
@endif 
+0

我想我知道了,問題出在我的遷移中......我創建了一個名爲'contenidos'的專欄。我想這會是一種問題。我刪除了這一列,現在它工作正常!謝謝你的幫助! – JaviZu

相關問題