'boolean', 'is_system' => 'boolean', ]; /** * Relação com o usuário */ public function user(): BelongsTo { return $this->belongsTo(User::class); } /** * Relação com as palavras-chave */ public function keywords(): HasMany { return $this->hasMany(CostCenterKeyword::class); } /** * Relação com as palavras-chave ativas */ public function activeKeywords(): HasMany { return $this->hasMany(CostCenterKeyword::class)->where('is_active', true); } /** * Scope para centros de custo ativos */ public function scopeActive($query) { return $query->where('is_active', true); } /** * Scope para centro de custo do sistema (padrão do usuário) */ public function scopeSystem($query) { return $query->where('is_system', true); } /** * Scope para buscar por código */ public function scopeByCode($query, string $code) { return $query->where('code', $code); } }