Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

263
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!