'datetime', 'sorvegliante_id' => 'integer']; } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logOnly(['nome', 'sorvegliante_id', 'sciolto_at']) ->logOnlyDirty() ->dontSubmitEmptyLogs(); } public function sorvegliante() { return $this->belongsTo(Proclamatore::class, 'sorvegliante_id')->withTrashed(); } public function membri() { return $this->hasMany(Proclamatore::class, 'gruppo_servizio_id'); } /** Il pacchetto: i territori in carico al gruppo, dati o non ancora dati. */ public function territori() { return $this->hasMany(Territorio::class, 'gruppo_servizio_id'); } public function assegnazioni() { return $this->hasMany(Assegnazione::class, 'gruppo_servizio_id'); } public function getScioltoAttribute(): bool { return $this->sciolto_at !== null; } public function scopeAttivi($query) { return $query->whereNull('sciolto_at'); } }