0

次の Doctrine クエリがあります。私のデータベースは MySQL です。

    public static function getLastList($user_id){

    $user_id = 123;

    $q = Doctrine_Query::create()
            ->from('list l')
            ->innerJoin('l.listUser lu ')
            ->where('lu.user_id = ?', $user_id)
            ->orderBy('e.created ASC')
            ->limit(1)
            ->execute();

    if ($q == NULL) {
        print_r('false');
    } else {
        print_r('not false');
    }
}

データベースに user_id = 123 のエントリがありません。したがって、期待しているのは「false」です。しかし、「偽ではない」というのが結果です。

1.) なぜ?

2.) この特定のクエリを「はい、ユーザーがいます」または「いいえ、ユーザーはいません」と区別するにはどうすればよいですか?

ありがとう!

グンナル

4

1 に答える 1

1

execute()戻り値Doctrine_Collection

を呼び出してコレクションのサイズを確認できますcount()

if ($q->count() == 0) {
    print_r('false');
} else {
    print_r('not false');
}
于 2012-06-03T14:12:15.950 に答える