如何使用此方案返回ManytoMany关系中的分组数据集的集合?
以下是我想要返回的数据集的示例
所以,让我们把收藏作为流派,突出显示的日期是genres name
,它也是一个集合。我想根据该集合中的genres name
对其进行分组。
我的模特:
视频
```
public function genres() {
return $this->belongsToMany(Genre::class);
}
```
类型
```
public function videos() {
return $this->belongsToMany(Video::class);
}
```
我已经尝试了以下内容,但似乎无法得到它。
```
$videos = Video::with('genres')->all();
$collection = $videos->groupBy('genres.name');
```
我想按类型名称对数据集进行分组,因为知道类型的关系也是一个类型的集合。
答案 0 :(得分:0)
集合和查询构建器共享许多类似的功能,例如where()groupBy()等。这是一个很好的语法糖,但它确实掩盖了潜在的技术。
因此,如果您想在sql中完成工作,您可以执行类似......
的操作$video_query_builder = Video::with('genere');
$video_query_builder->groupBy('genere_id');
$result = $video_query_builder->get();
你可以像评论中所建议的那样,将它们整齐地链接在一起......就像这样:
$result = Video::with('genere')
->groupBy('genere_id')
->get();