web-dev-qa-db-fra.com

Manipulation de variables non définies à Fabrik

J'ai un champ de jointure de base de données avec un conditionnement à Fabrik. Le champ obtient son contenu de tablier. La condition où l'état a besoin d'une variable de l'URL {queryParam}.

C'est la situation où condition:

WHERE EXISTS (SELECT 1 FROM tableB WHERE {thistable}.id = tableB.selected AND tableB.parent_id = {queryParam})

Le problème avec c'est, que queryParam bien sûr n'est pas toujours défini, ce qui enfreint l'application entière puisque la requête SQL n'est pas valide.

Je ne connais pas très bien Fabrik et Joomla. Quelle serait une bonne pratique pour gérer ce problème? Je sais que sans queryParam la requête SQL ne retournera toujours rien. Existe-t-il un moyen de vérifier si queryParam est défini et s'il ne s'agit pas d'empêcher la requête SQL d'exécuter?

Ou puis-je définir une valeur par défaut pour queryParam (E.g 0, qui ne conduira pas toujours à aucun résultat)

J'ai déjà parcouru à travers le Fabrik wiki , forum et joomla postes mais je n'ai trouvé aucune information utile.

Environnement: Joomla 3.9.4, Fabrik 3.x

1
Marco

J'ai réussi à résoudre ceci en enveloppant le queryParam avec des guillemets et le comparant ensuite avec une chaîne vide.

WHERE EXISTS (SELECT 1 FROM tableB WHERE {thistable}.id = tableB.selected AND IF('{queryParam}' = '', true, tableB.parent_id = '{queryParam}'))
0
Marco