web-dev-qa-db-ja.com

Doctrineクエリでnull値をフィルターとして指定するには?

ZendでDoctrine 1.1を使用しています。特定の列にnull値を持つレコードを返すクエリを作成しようとしています。

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

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

ルールセットテーブルには、vertical_id列に[〜#〜] null [〜#〜]値を持つ3つのレコードがありますが、クエリはこれらを見つけません。

ヘルプに感謝します。

シド。

70
Mr B

私はdoctrine=をsymfonyで使用し、これが私がする方法です:

where('a.vertical_id is NULL');

149
Johannes

このコードを使用してください:

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

参照:
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html#the-expr-class