ChatResource.php 795 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. namespace App\Http\Resources;
  3. use Illuminate\Contracts\Support\Arrayable;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Http\Resources\Json\JsonResource;
  6. class ChatResource extends JsonResource
  7. {
  8. /**
  9. * Transform the resource into an array.
  10. *
  11. * @param Request $request
  12. * @return array|Arrayable|\JsonSerializable
  13. */
  14. public function toArray($request)
  15. {
  16. return [
  17. 'id' => $this->uid,
  18. 'title' => $this->title,
  19. 'user_id' => $this->user_id,
  20. 'created_at' => $this->created_at,
  21. 'updated_at' => $this->updated_at,
  22. 'messages_count' => $this->when($this->relationLoaded('messages'), function () {
  23. return $this->messages->count();
  24. }),
  25. ];
  26. }
  27. }