Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [jDao] addCondition et IS NULL

Posted by chris on 11/14/2007 20:50

Bonjour,

J'ai un problème depuis hier que je ne parviens pas à résoudre. Je croyais avoir obtenu une aide sur IRC, mais après tests complémentaires, sauf erreur de ma part, cela ne convient pas.

J'expose la situation :

J'ai une requête qui doit faire (field1 = 'foo' OR field1 IS NULL) AND (field2 = "bar1" OR field2 = "bar2" OR...)

La première partie (='foo' OR IS NULL) est invariable. Par contre, la deuxième dépend de données saisies par l'utilisateur. Aussi, il me faut donc passer par un addCondition() et un findBy (à priori).

Or, autant je vois bien comment faire un IS NULL dans le xml de la dao, autant je ne vois pas comment faire dans le addCondition().

Laurent, pour ne pas le citer, m'avait dit de faire un simple addCondition( field, '=' 'null'), mais ça ne semble pas du tout générer un field IS NULL (ce qui n'est pas équivalent à field = 'null" si je ne m'abuse). En tout cas, ce qui est sûr, c'est que je n'ai pas le résultat escompté quand justement field IS NULL.

D'ailleurs, est-il possible, à des fins de débuggage, de connaître la requête sql complète générée dynamiquement ?

J'espère avoir été clair, et merci d'avance pour votre aide.

  [Opened] Re: [jDao] addCondition et IS NULL

Reply #1 Posted by laurentj on 11/14/2007 23:14

Je n'ai pas dit

 addCondition( 'field', '=', 'null')

mais

 addCondition( 'field', '=', null)

Et il faut que le field en question ait un required="false".

  [Opened] Re: [jDao] addCondition et IS NULL

Reply #2 Posted by laurentj on 11/15/2007 23:07

je t'ai dit quote, mais c'est vrai que ça rajoute des quotes en debut et fin de chaine, c'est peut être ce qui fait faire l'erreur (ta regexp étant alors invalide).

Pour la complexité avec regexp et autres, je pensais que tu avais suivi ce qui se disait juste avant concernant la possibilité par ex d'utiliser binary_op dans la dao justement afin de créer une condition regexp

binary_op, c'est valable uniquement dans le fichier xml. Son utilisation n'est pas valable avec jDaoConditions.

 
Page
  1. SOAP >
  2. [jDao] addCondition et IS NULL