2012-06-03 50 views
0

我確實有以下原則查詢。我的數據庫是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.)我怎樣才能用這個特定的查詢分隔「是的,有一個用戶」或「沒有,沒有用戶」?

謝謝!

貢納爾

回答

1

execute()回報Doctrine_Collection

您可以檢查集合的大小通過調用count()

if ($q->count() == 0) { 
    print_r('false'); 
} else { 
    print_r('not false'); 
} 
+0

謝謝! (count($ q)== 0)有效。並感謝您的解釋! – craphunter

+0

而$ q.count()或$ q-> count()不?我不確定數量($ q)是否真的需要。 – Ruben

+0

爲什麼不是我真正需要的? – craphunter