File manager - Edit - /var/www/html/spdc/api/app/Http/Resources/ScaleDayRequestResource.php
Back
<?php namespace App\Http\Resources; use Illuminate\Support\Arr; use App\Models\ScaleFunction; use Illuminate\Http\Resources\Json\JsonResource; class ScaleDayRequestResource extends JsonResource { /** * Transform the resource into an array. * * @param \Illuminate\Http\Request $request * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable */ public function toArray($request) { $teamData = null; $functionData = null; $usersIds = [ $this->currentMember?->user_id, $this->requestedMember?->user_id, ]; $usersInfo = getUsersInfo($usersIds); $requesterData = $this->getUserData($this->currentMember->user_id, $usersInfo); $requestedData = $this->getUserData($this->requestedMember->user_id, $usersInfo); if ($this->currentMember->teams()->exists()) { $teamData = $this->currentMember->teams[0]; $functionData = ScaleFunction::findOrFail($teamData->pivot->scale_function_id); } return [ 'id' => $this->id, 'current_scale_day_id' => $this->current_scale_day_id, 'current_scale_member_id' => $this->current_scale_member_id, 'requested_scale_day_id' => $this->requested_scale_day_id, 'requested_scale_member_id' => $this->requested_scale_member_id, 'approved' => $this->approved, 'approved_by_member' => $this->approved_by_member, // Fix typo in 'approved_by_member' 'requester' => isset($requesterData) ? $requesterData['name'] : null, 'requested' => isset($requestedData) ? $requestedData['name'] : null, 'requester_date' => $this->formatDate($this->currentDay), 'requested_date' => $this->formatDate($this->requestedDay), 'team' => !is_null($teamData) ? $teamData?->name : null, 'function' => !is_null($functionData) ? $functionData?->name : null, ]; } /** * Get user data from the given user ID. * * @param int $userId * @param array $usersInfo * @return array */ private function getUserData($userId, $usersInfo) { return Arr::first($usersInfo, function (array $user) use ($userId) { return $user['id'] == $userId; }); } /** * Format date based on day, month, and year. * * @param object $day * @return string */ private function formatDate($day) { return $day->day . '/' . $day->scale->month . '/' . $day->scale->year; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings