API resources:
Create Resource
php artisan make:resource UserResourceResource Class
class UserResource extends JsonResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'posts' => PostResource::collection($this->whenLoaded('posts')),
];
}
}Use in Controller
return new UserResource($user);
return UserResource::collection($users);Additional Data
return (new UserResource($user))->additional([
'meta' => ['version' => '1.0'],
]);