*/ protected $fillable = [ 'user_id', 'nome', 'cognome', 'denominazione_studio', 'partita_iva', 'codice_fiscale_studio', 'indirizzo_studio', 'cap_studio', 'citta_studio', 'provincia_studio', 'telefono_studio', 'email_studio', 'pec_studio', 'codice_univoco', ]; /** * Get the user associated with the Amministratore. */ public function user(): BelongsTo { return $this->belongsTo(User::class, 'user_id'); } /** * Get the condomini for the Amministratore. */ public function stabili(): HasMany { return $this->hasMany(Stabile::class, 'amministratore_id', 'id_amministratore'); } /** * Get the fornitori for the Amministratore. */ public function fornitori(): HasMany { return $this->hasMany(Fornitore::class, 'amministratore_id', 'id_amministratore'); } protected static function booted() { static::creating(function ($amministratore) { if (empty($amministratore->codice_univoco)) { do { $code = Str::upper(Str::random(8)); } while (self::where('codice_univoco', $code)->exists()); $amministratore->codice_univoco = $code; } }); } }