我有laravel的问题。我已经在laravel中的模型级别创建了表和关系之间的关系但是如果我想向视图显示数据,则会出现错误:此集合实例上不存在属性[category]。 < / p>
这部电影的表格叫做:视频
带有类别的表称为:categories
调用数据透视表:category_video
视频型号代码:
public function categories()
{
return $this->belongsToMany('App\Category');
}
类别型号代码:
public function videos()
{
return $this->belongsToMany('App\Video');
}
在控制器中我有这个:
$slider_videos = Video::->orderBy('rating','desc')
->limit(5)
->get();
在视图中我试试这个:
@foreach($slider_videos as $slider_video)
{{$slider_video->category->name}}
@endforeach
我将在使用时添加:{{$slider_video->category}}
它显示单行的所有内容
顺便说一句,如何在模型中指定数据透视表的名称?
答案 0 :(得分:0)
类别是您需要循环的集合:
@foreach($slider_videos as $slider_video)
{{ $slider_videos->name }} categories are :
@foreach($slider_video->categories as $category)
{{$category->name}}
@endforeach
@endforeach
答案 1 :(得分:0)
belongsToMany
也会返回一个集合。
您需要在foreach
循环中访问它。
像这样。
@foreach($slider_video->categories as $category)
{{$category->>field_name}}
@endforeach