'array', ]; public function sistema(): BelongsTo { return $this->belongsTo(Sistema::class); } public function modelli(): HasMany { return $this->hasMany(Modello::class); } /** * Misure in mm delle lastre per un serramento L x H, senza arrotondamenti. * * @return array */ public function calcolaLastre(float $larghezza, float $altezza): array { return array_map(fn (array $lastra) => [ 'descrizione' => $lastra['descrizione'] ?? null, 'quantita' => max(1, (int) ($lastra['quantita'] ?? 1)), 'larghezza' => ($larghezza - (float) ($lastra['detrazione_larghezza'] ?? 0)) / max(1, (float) ($lastra['divisore'] ?? 1)), 'altezza' => $altezza - (float) ($lastra['detrazione_altezza'] ?? 0), ], $this->lastre ?? []); } }