我正在尝试打印页面名称旁边的每个页面的类别。 所以我做了一个模型,并将其命名为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)
和想法?
答案 0 :(得分:1)
看起来并非每个页面都分配了一个类别。您可以通过将其包含在@if
:
<td>
@if($page->cat)
{{ $page->cat->nam }}
@endif
</td>
或者在单行内:
<td>{{ ($page->cat ? $page->cat->nam : '') }}</td>