Recursos da API do Laravel 5.5 para coleções (dados independentes)

Eu queria saber se é possível definir dados diferentes para o recurso de item e recurso de coleção.

Para coleção, eu só quero enviar['id', 'title', 'slug'] mas o recurso do item conterá detalhes extras['id', 'title', 'slug', 'user', etc.]

Eu quero alcançar algo como:

class PageResource extends Resource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'title' => $this->title,
            'slug' => $this->slug,
            'user' => [
                'id' => $this->user->id,
                'name' => $this->user->name,
                'email' => $this->user->email,
            ],
        ];
    }
}

class PageResourceCollection extends ResourceCollection
{
    /**
     * Transform the resource collection into an array.
     *
     * @param  \Illuminate\Http\Request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'title' => $this->title,
            'slug' => $this->slug,
        ];
    }
}

PageResourceCollection não funcionará como esperado porque usaPageResource então precisa

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

Eu poderia duplicar o recurso emPageFullResource / PageListResource ePageFullResourceCollection / PageListResourceCollection mas estou tentando encontrar uma maneira melhor de obter o mesmo resultado.

questionAnswers(3)

yourAnswerToTheQuestion