2011-10-25 132 views
0

我有一個非常簡單的問題。我到處搜索它,但我沒有找到任何東西。is returned Doctrine_collection null

我有一個原則這樣的查詢:

return Doctrine_Core::getTable('something')->createQuery()->where('where clause')- 
>execute(); 

我要檢查它是否會返回一些與否。只是它。如果它的內容爲空,我不會做其他的事情。空不行,isset不起作用,count不起作用。我想要做什麼?

我知道這很簡單,但我不知道該怎麼做。

任何建議,將不勝感激。

+0

這說明什麼回報?請對結果使用'var_dump()'並更新你的問題。 – greg0ire

回答

0

試試下面的代碼:有關結果陣列上執行->count()什麼

return Doctrine_Core::getTable('something') 
    ->createQuery()->where('where clause')->count(); 
+0

是的,它有時會起作用。但有時當我在視圖中使用它時,它說「未定義的方法調用計數在非對象等等等等等等」 但在這種情況下(在行動中)它工作正常。無論如何感謝 。 – Firouziam

+0

當您使用由教義創建的標準方法時,它不起作用。例如Book有一個getLessons()方法返回書的課程。如果它沒有任何課程你不能使用 - > count(),因爲結果不是一個對象。我想知道是否有一種方法適用於所有情況! – Firouziam

0

$ OBJ = Doctrine_Core :: getTable( '東西') - >的createQuery() - >其中( 'where子句') - >執行();

如果($ OBJ == NULL){ } enter code here

其他 {}

+0

我知道它應該以這種方式工作,但我總是得到一個不爲null的Doctrine_Collection。它有一個沒有任何記錄的記錄(所有字段都是空的)。當我使用fetchone它工作正常,但使用執行它不。 – Firouziam