Edit File: RoomResource.php
<?php namespace App\Http\Resources; use Illuminate\Http\Resources\Json\JsonResource; use App\Traits\GeneralTrait; use App\Traits\ApiTrait; use App\Models\User; use App\Http\Resources\RoomMessagesResource; class RoomResource extends JsonResource { use GeneralTrait, ApiTrait; /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array */ public function toArray($request) { $page = $request['page']?? 1; $messages = $this->messages()->orderBy('created_at','desc')->paginate($this->paginateNumChat());; $user = auth('api')->user(); if($user->id==$this->userone_id){ $another=User::find($this->usertwo_id); }else{ $another=User::find($this->userone_id); } $order=$this->order; if($user->type=='user'){ $orderStatusText = __( 'order.'. $order->statusForUser() ); $orderStatus=$order->statusForUser(); }else{ $orderStatusText = __( 'order.'. $order->statusForDelegate() ); $orderStatus=$order->statusForDelegate(); } return [ 'id' => $this->id, 'order_id' => $order->id ?? 0, 'room_type' => 'chat', 'date' => $this->created_at->toDateString(), 'time' => date('h:i A', strtotime($this->created_at)), 'status' => $this->status, 'order_status'=>$orderStatus, 'order_status_text'=>$orderStatusText, 'seconduser_name'=>$another->name??'', 'seconduser_avatar'=>$another->avatarPath??'', 'seconduser_rate'=>$another->rate??'', 'messages' => RoomMessagesResource::collection($messages), 'user_id' => (int)$order->user?->id ?? 0 , 'user_name' => $order->user?->name ?? '' , 'delegate_id' => (int)$order->delegate?->id ?? 0 , 'delegate_name' => $order->delegate?->name ?? '' , 'pagination' => $this->paginationModel($messages), ]; } }
Back to File Manager