Mejora en velocidad de busqueda
This commit is contained in:
@ -298,7 +298,6 @@ class Venta extends Ideal\Repository
|
||||
OR CONCAT_WS(' ', `propietario`.`nombres`, `propietario`.`apellido_paterno`, `propietario`.`apellido_materno`) LIKE :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
|
||||
@ -356,6 +355,27 @@ class Venta extends Ideal\Repository
|
||||
->where('bono_pie = ?');
|
||||
return $this->fetchId($query, [$bono_id]);
|
||||
}
|
||||
public function fetchByIdForSearch(int $venta_id): array
|
||||
{
|
||||
$query = $this->connection->getQueryBuilder()
|
||||
->select('venta.id AS id, venta.fecha AS fecha, venta.valor_uf AS valor')
|
||||
->columns('proyecto.id AS proyecto_id, proyecto.descripcion AS proyecto_descripcion')
|
||||
->columns('CONCAT_WS(" ", propietario.nombres, propietario.apellido_paterno, propietario.apellido_materno) AS propietario')
|
||||
->columns('unidad.descripcion AS unidad_descripcion, tu.descripcion AS tipo_unidad_descripcion, ptu.m2 + ptu.logia + ptu.terraza AS superficie')
|
||||
->columns('tev.activa')
|
||||
->from($this->getTable())
|
||||
->joined('JOIN propietario ON propietario.rut = venta.propietario')
|
||||
->joined('JOIN propiedad_unidad pu ON pu.propiedad = venta.propiedad')
|
||||
->joined('JOIN unidad ON unidad.id = pu.unidad')
|
||||
->joined('JOIN proyecto_tipo_unidad ptu ON unidad.pt = ptu.id')
|
||||
->joined('JOIN proyecto ON proyecto.id = ptu.proyecto')
|
||||
->joined('JOIN tipo_unidad tu ON tu.id = ptu.tipo')
|
||||
->joined('JOIN (SELECT ev1.* FROM estado_venta ev1 JOIN (SELECT MAX(id) AS id, venta FROM estado_venta GROUP BY venta) ev0 ON ev0.id = ev1.id) ev ON ev.venta = venta.id')
|
||||
->joined('JOIN tipo_estado_venta tev ON ev.estado = tev.id')
|
||||
->where('venta.id = ? AND tu.descripcion = "departamento"')
|
||||
->group('venta.id');
|
||||
return $this->connection->execute($query, [$venta_id])->fetch(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
protected function fetchIds(string $query, ?array $data = null): array
|
||||
{
|
||||
|
Reference in New Issue
Block a user