anagrafica()->associate($anagrafica); $model->stato()->associate($stato); $model->tipoSessione()->associate($tipo_sessione); $model->codice = static::getNextCodice(); $model->data_richiesta = $data_richiesta; $model->save(); return $model; } public function anagrafica() { return $this->belongsTo(Anagrafica::class, 'idanagrafica'); } public function preventivo() { return $this->hasOne(Preventivo::class, 'id_preventivo'); } public function stato() { return $this->belongsTo(Stato::class, 'idstatointervento'); } public function tipoSessione() { return $this->belongsTo(TipoSessione::class, 'idtipointervento'); } public function articoli() { return $this->hasMany(Articolo::class, 'idintervento'); } public function righe() { return $this->hasMany(Riga::class, 'idintervento'); } public function descrizioni() { return null; } public function scontoGlobale() { return null; } // Metodi statici /** * Calcola il nuovo codice di intervento. * * @return string */ public static function getNextCodice() { $maschera = setting('Formato codice intervento'); $ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice'); $numero = Generator::generate($maschera, $ultimo); return $numero; } }