$servers * @property Collection $notificationChannels * @property Collection $sourceControls */ class Project extends Model { use HasFactory; protected $fillable = [ 'user_id', 'name', ]; public static function boot(): void { parent::boot(); static::deleting(function (Project $project) { $project->servers()->each(function (Server $server) { $server->delete(); }); }); } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function servers(): HasMany { return $this->hasMany(Server::class); } public function notificationChannels(): HasMany { return $this->hasMany(NotificationChannel::class); } public function users(): BelongsToMany { return $this->belongsToMany(User::class, 'user_project')->withTimestamps(); } public function sourceControls(): HasMany { return $this->hasMany(SourceControl::class); } }