"t2.nombre", 1 => "t1.precio_unidad", 2 => "t1.precio_total" ]; protected $allowedFields = ["presupuesto_id", "tarifa_acabado_id", "nombre", "precio", "precio_unidad"]; protected $returnType = "App\Entities\Presupuestos\PresupuestoAcabadosEntity"; protected $useTimestamps = true; protected $useSoftDeletes = false; protected $createdField = "created_at"; protected $updatedField = "updated_at"; public static $labelField = "nombre"; protected $validationRules = [ "precio_total" => [ "label" => "Presupuestos.precioTotal", "rules" => "decimal|required", ], ]; protected $validationMessages = [ "precio_total" => [ "decimal" => "Presupuestos.validation.decimal", "requerido" => "Presupuestos.validation.decimal", ], ]; /** * Get resource data. * * @param string $search * * @return \CodeIgniter\Database\BaseBuilder */ public function getResource(string $search = "", $presupuesto_id = -1) { $builder = $this->db ->table($this->table . " t1") ->select( "t1.id AS id, t1.tarifa_acabado_id AS tarifa_acabado_id, t1.precio_unidad AS precio_unidad, t1.precio_total AS precio_total, t2.nombre AS nombre" ); $builder->where('t1.presupuesto_id', $presupuesto_id); $builder->join("lg_tarifa_acabado t2", "t1.tarifa_acabado_id = t2.id", "left"); return empty($search) ? $builder : $builder ->groupStart() ->like("t2.nombre", $search) ->orlike("t1.precio_unidad", $search) ->orLike("t1.precio_total", $search) ->groupEnd(); } }