web-dev-qa-db-fra.com

Comment spécifier une valeur nulle comme filtre dans une requête Doctrine?

J'utilise Doctrine 1.1 dans Zend. J'essaie d'écrire une requête qui retournera des enregistrements qui ont une valeur nulle dans une certaine colonne.

    $q = Doctrine_Query::create()
    ->select('a.*')
    ->from('RuleSet a')
    ->where('a.vertical_id = ?', null);

    $ruleset_names_result = $q->execute(array(), Doctrine::HYDRATE_ARRAY);

J'ai trois enregistrements dans la table d'ensemble de règles qui ont une valeur NULL dans la colonne vertical_id mais la requête ne les trouve pas.

Appréciez l'aide.

Sid.

70
Mr B

J'utilise doctrine avec symfony, et voici comment je fais:

where('a.vertical_id is NULL');

149
Johannes

Utilisez ce code:

->where($qb->expr()->isNull('a.vertical_id'));

Référence:
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html#the-expr-class