Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
¿Es posible crear declaraciones SQL que incluyan la condición 'XOR' con jQuery QueryBuilder?

Quiero obtener una declaración SQL usando el complemento jQuery QueryBuilder. Todo funciona exactamente como quiero cuando uso las condiciones predeterminadas 'Y' y 'O'. Sin embargo, cuando trato de usar la condición 'XOR', aparece un error (ver más abajo).

Este es mi código para QueryBuilder:

 $(document).ready(function () { var options = { allow_empty: true, filters: [ { id: "name", label: "Name", type: "string", default_value: "Noah", size: 30, unique: true, }, ], /* XOR does not work with SQL */ conditions: ["AND", "OR", "XOR"], }; $("#builder").queryBuilder(options); $(".parse-json").on("click", function () { var res = $("#builder").queryBuilder("getSQL", $(this).data("stmt"), false); console.log( res.sql + (res.params ? "\n\n" + JSON.stringify(res.params, undefined, 2) : "") ); }); });

Aquí hay una imagen de ejemplo de QueryBuilder en mi sitio web: haga clic aquí

Como se dijo antes, cuando elijo la condición 'O', obtengo la instrucción SQL deseada.

 name = ? OR name = ? [ "Noah", "James" ]

Pero cuando elijo la condición "XOR", aparece un mensaje de error que dice:

 Uncaught Error: Unable to build SQL query with condition "XOR" at Function.error (jquery-2.x-git.min.js:2)

Aquí puede encontrar el archivo que da el error: jquery-2.x-git.min.js:2

He buscado en Internet durante más de 2 horas, pero no pude encontrar nada que apuntara remotamente en esa dirección. Cualquier ayuda es muy apreciada.

**Una cosa que vale la pena señalar es que al extraer las reglas como un objeto en lugar de una declaración SQL, la condición "XOR" funciona. Aquí puede ver el código utilizado para obtener la declaración como un objeto:

 $(".parse-json").on("click", function () { console.log( JSON.stringify($("#builder").queryBuilder("getRules"), undefined, 2) ); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No, no es posible, la propiedad de conditions solo permite 'AND' u 'OR' como valores, como se indica en la documentación :

Nombre escribe defecto descripción
[…]
condiciones cuerda[] ['Y', 'O'] Matriz de condiciones de grupo disponibles. Utilice la opción lang para cambiar la etiqueta.
[…]

Parece que se informó un problema en 2018, pero se cerró sin una resolución evidente: https://github.com/mistic100/jQuery-QueryBuilder/issues/645


Investigué un poco más y no es tan claro. Aparentemente, incluso hay pruebas en el repositorio que usan 'XOR' y 'NAND' como condiciones: https://github.com/mistic100/jQuery-QueryBuilder/blob/dev/tests/core.module.js . Esto es lo contrario de lo que dice la documentación.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda