File manager - Edit - /var/www/ratemypay/app/Resources/JobExperienceResource.php
Back
<?php namespace App\Resources; use Illuminate\Http\Request; use Illuminate\Http\Resources\Json\JsonResource; class JobExperienceResource extends JsonResource { public function toArray(Request $request): array { return [ 'id' => $this->id, 'user_id' => $this->user_id, 'job_title' => $this->job_title, 'company_name' => $this->company_name, 'level' => $this->level, 'work_status' => $this->work_status, 'work_status_display' => $this->getWorkStatusDisplay(), 'still_employed' => $this->still_employed, 'employment_date' => $this->employment_date, 'end_date' => $this->end_date, 'duration' => $this->duration, 'number_of_years_as_employee' => $this->number_of_years_as_employee, 'years_of_experience' => $this->years_of_experience, 'years_in_level' => $this->years_in_level, 'location' => $this->location, 'city' => $this->city, 'state' => $this->state, 'country' => $this->country, 'work_arrangement' => $this->work_arrangement, 'work_arrangement_display' => $this->getWorkArrangementDisplay(), 'employment_type' => $this->employment_type, 'employment_type_display' => $this->getEmploymentTypeDisplay(), 'annual_base_salary' => $this->annual_base_salary, 'formatted_salary' => $this->formatted_salary, 'bonus_commission' => $this->bonus_commission, 'overtime_pay' => $this->overtime_pay, 'equity' => $this->equity, 'currency' => $this->currency, 'total_compensation' => $this->total_compensation, 'benefits' => $this->benefits, 'benefits_array' => $this->benefits ? explode(', ', $this->benefits) : [], 'is_active' => $this->is_active, 'is_published' => $this->is_published, 'published_at' => $this->published_at, 'published_at_formatted' => $this->published_at?->format('M j, Y'), 'job_description' => $this->job_description, 'industry' => $this->industry, 'company_size' => $this->company_size, 'average_rating' => $this->average_rating, 'ratings_count' => $this->ratings_count, 'created_at' => $this->created_at, 'created_at_formatted' => $this->created_at->format('M j, Y'), 'updated_at' => $this->updated_at, // 'user' => new UserResource($this->whenLoaded('user')), //'ratings' => PayRatingResource::collection($this->whenLoaded('ratings')), ]; } // Helper methods for display values private function getWorkStatusDisplay(): string { return match($this->work_status) { 'new_offer' => 'New Offer', 'current_employee' => 'Current Employee', 'former_employee' => 'Former Employee', default => ucfirst(str_replace('_', ' ', $this->work_status)) }; } private function getWorkArrangementDisplay(): string { return match($this->work_arrangement) { 'onsite' => 'On-site', 'remote' => 'Remote', 'hybrid' => 'Hybrid', default => ucfirst($this->work_arrangement) }; } private function getEmploymentTypeDisplay(): string { return match($this->employment_type) { 'full_time' => 'Full Time', 'part_time' => 'Part Time', 'contract' => 'Contract', 'freelance' => 'Freelance', 'internship' => 'Internship', default => ucfirst(str_replace('_', ' ', $this->employment_type)) }; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings