Laravel 4 - 为foreach()提供的参数无效

时间:2014-07-25 13:44:55

标签: sql laravel-4 eloquent pivot-table

我试图在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

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

请尝试这样做,因为您没有检查$ficha是否确实有contenido

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