首页 > 解决方案 > 在 Laravel 资源中使用 groupBy

问题描述

我想传递一个带有groupBylaravel 资源的集合,但问题是当我使用它的collection方法时,我无法修改 json,它会引发错误:

帖子资源:

public function toArray($request)
{
    return [
        'comments' => CommentResource::collection($this->comments->groupBy('star')),
    ];
}

此集合中不存在属性 [star]

但是,一旦我从集合中删除 groupBy 方法,它就会起作用。那么当资源被一个特定的键分组时,如何获取和修改资源呢?

标签: laravel

解决方案


“一旦创建了集合,您就可以对其进行分组。”

CommentResource::collection($this->comments)->collection->groupBy('star')

将他在 github 上的回答归功于 devcircus


推荐阅读