hasMany relation problam laravel 5

时间:2015-03-01 19:03:14

标签: laravel has-many

我正在尝试打印页面名称旁边的每个页面的类别。 所以我做了一个模型,并将其命名为Page。在里面我有这个:

public function cat() {
    return $this->belongsTo('App\Cat');
}

这是我的控制者:

public function pages()
{
    $view = view('cp.pages.all');
    $view->pages = Page::all();
    return $view;
}

在我看来我有这个:

@foreach($pages as $page)
    <tr>
        <td>{{ $page->cat->nam }}</td>
        <td style="text-align: center;">{{ $cat->id }}</td>
    </tr>
@endforeach

虽然name是我的数据库中该类别名称的字段名称。

但我一直收到这个错误:

Trying to get property of non-object (View: C:\wamp\www\mvc\resources\views\cp\pages\all.blade.php)

和想法?

1 个答案:

答案 0 :(得分:1)

看起来并非每个页面都分配了一个类别。您可以通过将其包含在@if

中来避免此错误
<td>
    @if($page->cat)
        {{ $page->cat->nam }}
    @endif
</td>

或者在单行内:

<td>{{ ($page->cat ? $page->cat->nam : '') }}</td>