<?php

namespace App\Models;

use CodeIgniter\Model;

class PredioModel extends Model
{
    protected $table            = 'bdgeo.predios';
    protected $primaryKey       = 'gid';
    protected $returnType       = 'array';
    protected $useTimestamps    = false;

    protected $allowedFields    = [
        'cod_parcel',
        'cod_ubicac',
        'cod_fijo',
        'tipo_predi',
        'latitud',
        'longitud',
        'calle',
        'nombres',
        'apellidos'
    ];

    /**
     * Aplica filtros personalizados para búsqueda
     */
    public function buscar($filtros)
    {
        foreach ($filtros as $campo => $valor) {
            if (!empty($valor)) {
                // Comparación exacta para algunos campos
                if (in_array($campo, ['cod_parcel', 'cod_ubicac', 'cod_fijo'])) {
                    $this->where($campo, $valor);
                } else {
                    // Búsqueda tipo LIKE insensible a mayúsculas
                    $this->like("LOWER($campo)", strtolower($valor));
                }
            }
        }

        return $this;
    }
}
