Buscar por rut

This commit is contained in:
Juan Pablo Vial
2024-02-27 16:11:48 -03:00
parent cfe18c1909
commit dc7a9f9e7a
2 changed files with 7 additions and 4 deletions

View File

@ -295,8 +295,11 @@ class Venta extends Ideal\Repository
->joined('JOIN `propietario` ON `propietario`.`rut` = a.`propietario`') ->joined('JOIN `propietario` ON `propietario`.`rut` = a.`propietario`')
->where("CONCAT_WS('-', `propietario`.`rut`, `propietario`.`dv`) LIKE :propietario OR `propietario`.`nombres` LIKE :propietario ->where("CONCAT_WS('-', `propietario`.`rut`, `propietario`.`dv`) LIKE :propietario OR `propietario`.`nombres` LIKE :propietario
OR `propietario`.`apellido_paterno` LIKE :propietario OR `propietario`.`apellido_materno` LIKE :propietario OR `propietario`.`apellido_paterno` LIKE :propietario OR `propietario`.`apellido_materno` LIKE :propietario
OR CONCAT_WS(' ', `propietario`.`nombres`, `propietario`.`apellido_paterno`, `propietario`.`apellido_materno`) LIKE :propietario"); OR CONCAT_WS(' ', `propietario`.`nombres`, `propietario`.`apellido_paterno`, `propietario`.`apellido_materno`) LIKE :propietario
return $this->fetchIds($query, [':propietario' => "%{$propietario}%"]); OR rut = :rut
OR CONCAT_WS('-', rut, dv) = :rut");
error_log($query.PHP_EOL,3,'/logs/debug');
return $this->fetchIds($query, [':propietario' => "%{$propietario}%", ':rut' => $propietario]);
} }
public function fetchByPropietarioNombreCompleto(string $propietario): array public function fetchByPropietarioNombreCompleto(string $propietario): array
{ {

View File

@ -54,10 +54,10 @@ class Search
} }
protected function find(string $query, string $tipo): array protected function find(string $query, string $tipo): array
{ {
preg_match_all('/["\']([\s\w]+)["\']|(\w+)/iu', $query, $matches, PREG_SET_ORDER | PREG_UNMATCHED_AS_NULL); preg_match_all('/["\']([\s\w\-]+)["\']|([\w\-]+)/iu', $query, $matches, PREG_SET_ORDER | PREG_UNMATCHED_AS_NULL);
$queries = array_map(function($match) { $queries = array_map(function($match) {
array_shift($match); array_shift($match);
$valid = array_filter($match, function($line) {return $line !== null;}); $valid = array_filter($match, function($line) {return $line !== null and trim($line); });
return implode(' ', $valid); return implode(' ', $valid);
}, $matches); }, $matches);
$tiposUnidades = $this->getTiposUnidades(); $tiposUnidades = $this->getTiposUnidades();