$this->id, 'from_date' => $this->from_date, 'to_date' => $this->to_date, 'status' => $this->status, 'user_id' => $this->user_id, 'user' => UserResource::make($this->whenLoaded('user')), 'user_transfer_id' => $this->user_transfer_id, 'userTransfer' => UserResource::make($this->whenLoaded('userTransfer')), 'transferable' => $this->resourceFinder(), 'created_at' => $this->created_at, 'updated_at' => $this->updated_at ]; } private function resourceFinder() { if ($this->whenLoaded('transferable')) { if ($this->transferable_type == "App\\Package"){ return PackageResource::make($this->transferable); }elseif($this->transferable_type == "App\\Item"){ return ItemResource::make($this->transferable); }else{ return null; } } } }