*/ protected $fillable = [ 'name', 'slug', 'description', 'owner_id', 'is_default', 'sort_order', ]; /** @var array */ protected $casts = [ 'owner_id' => 'integer', 'is_default' => 'boolean', 'sort_order' => 'integer', ]; /** @return BelongsTo */ public function owner(): BelongsTo { return $this->belongsTo(User::class, 'owner_id'); } /** @return HasMany */ public function tickets(): HasMany { return $this->hasMany(Ticket::class, 'board_id'); } /** @return BelongsToMany */ public function statuses(): BelongsToMany { return $this->belongsToMany(Status::class, 'helpdesk_kanban_board_statuses', 'board_id', 'status_id') ->withPivot(['sort_order']) ->orderBy('helpdesk_kanban_board_statuses.sort_order') ->orderBy('helpdesk_statuses.sort_order') ->withTimestamps(); } }