首页 > 解决方案 > 分形变换后的过滤、排序和分页

问题描述

我在Laravel 5.6中使用分形转换器

我有一个新闻模型和用户模型。新闻模型有一个外键 user_id。当我想显示新闻列表时,我将数据转换如下:

public function transform(News $news)
{
    return [
        'identifier' => (int) $news->id,
        'title' => (string) $news->title,
        'content' => (string) $news->content,
        'user' => (String) $news->user->f_name . " " . $news->user->l_name,
        'userType' => (String) $news->user->user_type,
        'likeCount' => (int) $news->likes,
    ];
}

变换函数为:

protected function transformData($data, NewsTransformer $transformer) {
    $transformation = fractal($data, new $transformer);
    return $transformation->toArray();
}

现在的问题是,当我转换新闻列表时,它返回数组而不是集合,并且在转换后我不能使用诸如按用户类型过滤数据或按用户排序数据之类的操作。

那么如何在转换后按新字段对结果进行排序、过滤和分页呢?

标签: laravellaravel-5collections

解决方案


推荐阅读