[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Sergio Rebelo
Criador Sergio Rebelo 23/01/2022

Ola Carlos,

Nao percebi a logica, ou o porque de no metodo que retorna todos os cursos, no return usamos

(return CourseResource::collection)

 

No metodo "show" que retorna um curso pelo id, usamos (return new CourseResource($id)), a duvida e porque e que usamos o "new"

 

Obrigado

Manager Carlos Ferreira 23/01/2022

Olá, Sergio!
Tudo bem?

Faz o seguinte amigo, para ficar mais claro, faz um dd no returno dos dados, tanto no método index:
dd($this->repository->getAllCourses());

Quanto no método show:
dd($this->repository->getCourse($id));

No primeiro caso, temos uma collection, por isso, passamos para o resource uma collection:
return CourseResource::collection(collection_aqui);

No segundo caso, não tem uma collection, mas sim um objeto do módulo Course, por isso passamos para o resource o objeto:
return new CourseResource(objeto_aqui);

Os resources do Laravel te permite trabalhar com collection e com objeto.

Percebeu a diferença amigo? Ficou claro?

Carlos Ferreira
Criador Sergio Rebelo 23/01/2022

Ola Carlos,

Agradeço a explicação, sim ficou claro.

 

Obrigado, abraço.

Sergio Rebelo
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!