webmoney/backend/app/Models/CategoryKeyword.php
marco 54cccdd095 refactor: migração para desenvolvimento direto no servidor
- Removido README.md padrão do Laravel (backend)
- Removidos scripts de deploy (não mais necessários)
- Atualizado copilot-instructions.md para novo fluxo
- Adicionada documentação de auditoria do servidor
- Sincronizado código de produção com repositório

Novo workflow:
- Trabalhamos diretamente em /root/webmoney (symlink para /var/www/webmoney)
- Mudanças PHP são instantâneas
- Mudanças React requerem 'npm run build'
- Commit após validação funcional
2025-12-19 11:45:32 +01:00

52 lines
1.1 KiB
PHP
Executable File

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class CategoryKeyword extends Model
{
use HasFactory;
protected $fillable = [
'category_id',
'keyword',
'is_case_sensitive',
'is_active',
];
protected $casts = [
'is_case_sensitive' => 'boolean',
'is_active' => 'boolean',
];
/**
* Relação com a categoria
*/
public function category(): BelongsTo
{
return $this->belongsTo(Category::class);
}
/**
* Scope para keywords ativas
*/
public function scopeActive($query)
{
return $query->where('is_active', true);
}
/**
* Verifica se o texto contém esta palavra-chave
*/
public function matchesText(string $text): bool
{
if ($this->is_case_sensitive) {
return str_contains($text, $this->keyword);
}
return str_contains(strtolower($text), strtolower($this->keyword));
}
}