'order', 'sort_when_creating' => true, ]; use SoftDeletes; protected $table = 'milestones'; protected $dates = ['deleted_at']; public $fillable = [ 'project_type', 'name', 'order' ]; /** * The attributes that should be casted to native types. * * @var array */ protected $casts = [ 'name' => 'string', 'order' => 'integer' ]; /** * Validation rules * * @var array */ public static $rules = [ 'project_type' => 'required', 'name' => 'required' ]; public function buildSortQuery() { return static::query()->where('project_type', $this->project_type); } /** * @return \Illuminate\Database\Eloquent\Relations\BelongsTo **/ public function businessService(): BelongsTo { return $this->BelongsTo(ModularType::class, 'project_type', 'id'); } /** * @return \Illuminate\Database\Eloquent\Relations\HasMany **/ public function tasks(): HasMany { return $this->HasMany(MilestoneTask::class, 'milestone_id', 'id')->orderBy('order'); } }