IS NULL en LIKE NULL, non merci !
Bien le bonjour,
Après une recherche infructueuse dans cette section du forum, je prends mon courage à deux mains pour vous demander une broutille bien placée et qui me coince donc...
Avant tout :
- Doctrine, c'est fou
- Relations super bien gérées
- ...
Histoire que l'on ne croît pas le contraire de ma part o_O
Voici donc la requête en espoir d'effectuer :
Code:
1 2 3 4 5
| $this->byMember = Doctrine_Query::create()
->from('T_Debit d')
->where('d.CodeId IN ('.implode(',', $advCodes).')')
->andWhere('d.Email IS NULL');
die($this->byMember->getSqlQuery()); |
Donc, que Doctrine s'occupe de transformer les requêtes d'une écriture simplifiée à une requête de bourrin et qui fonctionne, c'est top. Mais là, il veut absolument transformer mon "IS NULL" en "LIKE NULL" dans la requête.
Peut-être qu'en MySQL, ce dernier se sentira aussi bien sauf qu'ici je suis avec SQL Server et "LIKE NULL" ne me retourne aucun résultat contrairement à mon bienfaiteur "IS NULL".
Ma question, toute bénine qui soit, est donc : Comment dire à Doctrine si j'ai écris "IS NULL" alors stp laisse-le moi ?
Je crise intérieurement sur ce mini problème, pouvez-vous m'aider à sortir de la crise ?
En vous remerciant d'avance.
Cordialement,
Il parle de plusieurs manières, mais différentes v_v'
De nouveau bonjour,
Petite entreprise ne connaît pas la crise... pour peu que l'on sache comment parler aux gens qui y habitent !
Hum, bref, en checkant une autre forme d'écriture je suis maintenant au bout de ma faim, mais reste à savoir pourquoi cela marche dans un sens et pas dans l'autre ?...
Voici la solution pour éviter que Doctrine ne vous transforme un "IS NULL" en "LIKE NULL" :
Code:
1 2 3 4 5
|
Doctrine::getTable('T_Debit')->createQuery('t')
->where('CodeId IN ('.implode(',', $advCodes).')')
->andwhere('Email IS NULL')
->count(); |
Donc Doctrine::getTable('T_Debit')->createQuery('t') à la place de Doctrine_Query::create(), voilà, voilà.
En vous souhaitant du bon courage avec Doctrine qui dès fois se la joue un soupçon perso, en soit.
Une bonne journée à vous.
Cordialement,