有没有更简单的方法来过滤Laravel资源集合中的列?

时间:2018-10-19 21:20:48

标签: php laravel laravel-5

<?php

namespace App\Http\Resources\Moderate;

use Illuminate\Http\Resources\Json\ResourceCollection;

class MoveSearchCollection extends ResourceCollection
{
    /**
     * Transform the resource collection into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        foreach($this->collection as $key => $value) {
            $this->collection[$key] = $this->collection[$key]->only(['id', 'name']);
        }

        return [
            'data' => $this->collection,
        ];
    }
}

我上面有集合并且可以过滤它,但是有一种更简单的方法来仅包括某些字段吗?

1 个答案:

答案 0 :(得分:0)

可以肯定的是,不是收集模型,而是收集单个资源。如果您查看here,它将向您展示如何首先制作一个单一资源,然后与资源集合一起收集它。在单个资源中,您可以指定任何列或这些列上的转换。