此集合实例hasMany关系上不存在属性[title]

时间:2018-08-05 10:48:33

标签: php laravel eloquent laravel-5.5

我有以下两个模型Page.php和PageCategory.php`,它们之间的关系如下: Page.php

public function category() 
{
    return $this->belongsTo('App\PageCategory','category_id', 'id');
}

PageCategory.php

public function page() 
{
    return $this->hasMany('App\Page','id');
}

以下是上述模型的db表结构:

页面

id | title | content | category_id

page_categories

id | name

我正在尝试将所有类别名称打印为主菜单项,并将属于其类别的页面名称打印为导航栏中的子菜单项。在控制器中使用以下代码:

$pcategories = PageCategory::all();

视图中:

@foreach($pcategories as $category)
<div class="dropdown-menu">
  <ul>
    <li>
     <a href="#">{{ $category->page->title }}</a>
    </li>
  </ul>
</div>
@endforeach

使用上述代码,我遇到错误消息此集合实例上不存在属性[title] ,如果有人能指出我们所做的错误,我将非常感谢。 / p>

1 个答案:

答案 0 :(得分:1)

一个集合可以包含多个记录-通过执行screen "cat ~/input | parallel --colsep '\t' -j 100 -m sh ~/runner.sh {}" ,您将获得一个页面集合。

您应该像这样遍历集合;

$category->page