使用 groupBy 和资源收集 laravel

Posted

技术标签:

【中文标题】使用 groupBy 和资源收集 laravel【英文标题】:Using groupBy with resource collection laravel 【发布时间】:2022-01-13 04:10:33 【问题描述】:

我正在研究 api,并使用资源来发送数据。我想发送按状态分组的集合。到目前为止,我已经完成了以下工作:

public function data()
    $collection = ModelNameResource::collection(
        ModelName::query()
            ->latest()
            ->get()
    );
    $data = $collection->groupBy('status');
    return $data;

虽然我已经得到了我想要的,但想知道是否有更好的方法来实现这一点?

【问题讨论】:

不知道你在这里问什么。更好的方法在哪些方面?空间复杂度?时间复杂度?代码行?代码的清洁度? 【参考方案1】:

如果你的意思是干净的代码

public function data()
    return ModelNameResource::collection(
        ModelName::query()
            ->latest()
            ->get()
    )->groupBy('status');

【讨论】:

以上是关于使用 groupBy 和资源收集 laravel的主要内容,如果未能解决你的问题,请参考以下文章

Laravel eloquent api 资源删除 `data` 键(无收集)

Laravel 资源路由命名前缀

如何在关系 Laravel 中使用“groupBy”

Laravel使用Sum和Groupby

在 Laravel 5.2 中通过 RESTful 资源控制器使用 jQuery Ajax Post 方法将数据存储在数据库中

Laravel 5.5 资源自定义 show($id) 方法