'datetime', 'updated_at' => 'datetime', 'due_date' => 'date', ]; // Relationships public function applicantUnit() { return $this->belongsTo(Unit::class, 'unit_id'); } public function targetUnit() { return $this->belongsTo(Unit::class, 'target_unit_id'); } public function responsibleUser() { return $this->belongsTo(User::class, 'responsible_user_id'); } public function createdByUser() { return $this->belongsTo(User::class, 'created_by_user_id'); } public function replies() { return $this->hasMany(KanbanReply::class, 'kanban_id'); } // Query Scopes public function scopeVisibleToUnit($query, int $unitId) { return $query->where(function ($q) use ($unitId) { $q->where('unit_id', $unitId) ->orWhere('target_unit_id', $unitId) ->orWhere('scope', 'all'); }); } }