'string', 'order' => 'integer', 'complete' => 'boolean' ]; /** * Validation rules * * @var array */ public static $rules = [ 'project_id' => 'required', 'name' => 'required' ]; public function buildSortQuery() { return static::query()->where('project_id', $this->project_id); } /** * @return \Illuminate\Database\Eloquent\Relations\BelongsTo **/ public function project(): BelongsTo { return $this->BelongsTo(Project::class, 'project_id', 'id'); } public function tasks(): hasMany { return $this->hasMany(Task::class, 'milestone_id', 'id'); } protected static function boot() { parent::boot(); static::deleting(function($milestone) { foreach($milestone->tasks as $task){ $task->delete(); } }); } }