*/ public function toArray(Request $request): array { $contractMonthCurrent = $this->start_date ? (int) $this->start_date->diffInMonths(now()) + 1 : null; return [ 'id' => $this->id, 'unit_id' => $this->unit_id, 'unit_name' => $this->whenLoaded('unit', fn() => $this->unit->fantasy_name), 'protocol' => $this->protocol, 'start_date' => $this->start_date?->format('Y-m-d'), 'end_date' => $this->end_date?->format('Y-m-d'), 'invoice_due_date' => $this->invoice_due_date, 'tbr_fixed_value' => $this->tbr_fixed_value, 'tbr_fixed_value_percentage' => $this->tbr_fixed_value_percentage, 'marketing_fund_percentage' => $this->marketing_fund_percentage, 'maintance_tax_percentage' => $this->maintance_tax_percentage, 'inhabitant_classification_id' => $this->inhabitant_classification_id, 'inhabitant_classification' => $this->whenLoaded('inhabitantClassification', fn() => [ 'id' => $this->inhabitantClassification->id, 'description' => $this->inhabitantClassification->description, ]), 'validity_months' => $this->validity_months, 'contract_month_current' => $contractMonthCurrent, 'created_at' => Carbon::parse($this->created_at)->format('Y-m-d H:i:s'), 'updated_at' => Carbon::parse($this->updated_at)->format('Y-m-d H:i:s'), ]; } /** * @param \Illuminate\Database\Eloquent\Collection $resource * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection */ public static function collection($resource): AnonymousResourceCollection { return parent::collection($resource); } }