$this->id, 'name' => $this->name, 'quantity_classes' => $this->quantity_classes, 'contract_value' => $this->contract_value, 'contract_material_value' => $this->contract_material_value, 'contract_register_value' => $this->contract_register_value, 'contrat_discount_value' => $this->contrat_discount_value, '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'), 'unit_visibilities' => $this->whenLoaded('units', fn() => $this->units->map(fn($unit) => [ 'unit_id' => $unit->id, 'visible' => (bool) $unit->pivot->visible, ]) ), 'materials' => $this->whenLoaded('products', fn() => $this->products->map(fn($product) => [ 'product_id' => $product->id, 'name' => $product->name, 'quantity' => $product->pivot->quantity, 'price' => (float) $product->pivot->price, ]) ), ]; } /** * @param \Illuminate\Database\Eloquent\Collection $resource * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection */ public static function collection($resource): AnonymousResourceCollection { return parent::collection($resource); } }