【问题标题】:laravel - How to get data by pivot tablelaravel - 如何通过数据透视表获取数据
【发布时间】:2018-06-08 01:45:38
【问题描述】:

我对 laravel 有疑问。我在 laravel 的模型级别创建了表和关系之间的关系,但是如果我想向视图显示数据,我会收到错误消息:Property [category] ​​在此集合实例上不存在。

放电影的表格叫做:videos

包含类别的表称为:类别

数据透视表被称为: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}} 它正在显示单行的所有内容

对了,如何在模型中指定数据透视表的名称?

【问题讨论】:

  • belongsToMany 中的第二个参数是数据透视表名称。

标签: mysql laravel pdo model


【解决方案1】:

类别是你需要循环的集合:

@foreach($slider_videos as $slider_video)
    {{ $slider_videos->name }} categories are : 
    @foreach($slider_video->categories as $category)
        {{$category->name}}
    @endforeach
@endforeach

【讨论】:

    【解决方案2】:

    belongsToMany 返回一个集合,即使只有一条记录与该关系链接。 您需要在 foreach 循环中访问它。 像这样。

    @foreach($slider_video->categories as $category)
        {{$category->>field_name}}
    @endforeach
    

    【讨论】:

      猜你喜欢
      • 2021-09-10
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 2017-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多