Files
cssd-back/app/Http/Resources/TransferResource.php
T
2024-05-26 02:13:27 +03:30

46 lines
1.3 KiB
PHP

<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class TransferResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $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;
}
}
}
}