laravel - 在 Laravel 资源中使用 groupBy
问题描述
我想传递一个带有groupBy
laravel 资源的集合,但问题是当我使用它的collection
方法时,我无法修改 json,它会引发错误:
帖子资源:
public function toArray($request)
{
return [
'comments' => CommentResource::collection($this->comments->groupBy('star')),
];
}
此集合中不存在属性 [star]
但是,一旦我从集合中删除 groupBy 方法,它就会起作用。那么当资源被一个特定的键分组时,如何获取和修改资源呢?
解决方案
“一旦创建了集合,您就可以对其进行分组。”
CommentResource::collection($this->comments)->collection->groupBy('star')
将他在 github 上的回答归功于 devcircus
推荐阅读
- excel - 使用数据库中的信息创建 Excel 文件
- html - 什么是 .htmb 扩展名?
- php - PHP在解码后旋转图像文件而不是旋转图像资源?
- c# - 单击事件处理程序问题
- automated-tests - testcafe 支持 pressKey("shift+enter") 吗?
- interrupt - ISR 如何知道哪个引脚导致中断?
- dart - 颤振访问可重用的小部件数据
- public-key - 同一个密钥怎么会有两个不同的 PUBLIC KEY BLOCK?
- php - 将 HEADER 电子邮件更改为自定义电子邮件
- go - 使用 POSTMAN 在 FormValue Golang 中访问 POST 请求值