File: /var/www/api_matriculas/app/Http/Resources/PeriodResource.php
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class PeriodResource extends JsonResource
{
protected $allData;
public function __construct($resource, $allData = true)
{
parent::__construct($resource);
$this->allData = $allData;
}
public function toArray($request)
{
$data = [
'id' => $this->id,
'period_year' => $this->period_year,
'period' => $this->period,
'start_date' => $this->start_date,
'end_date' => $this->end_date,
];
if ($this->allData) {
$data['status'] = $this->status;
$data['created_at'] = sort_datetimeHuman($this->created_at);
$data['updated_at'] = sort_datetimeHuman($this->updated_at);
$data['segments'] = $this->enrollmentPeriods->map(fn($seg) => [
'id' => $seg->id,
'description' => $seg->description,
'start_date' => $seg->start_date,
'end_date' => $seg->end_date,
'status' => $seg->status,
]);
}
return $data;
}
}