2011-05-09 103 views
1

我可能在搜索錯誤的關鍵字,因爲我發現幾乎不可能,我無法在文檔或任何地方的任何論壇中找到它。Kohana 3.1 counting ORM find_all結果

從ORM find_all()查詢結果等

$結果= ORM ::工廠( 'some_table') - >其中( 'ID', 'IN',$ IDS) - > find_all()

如何計算返回的結果?

我已經試過

$results->count() 

count($results) 

但無濟於事我在後一種情況下得到正確的結果,總是1,因爲返回的對象。

或者如果計數是不可能的,那麼至少是能夠告訴我是否有結果被發現?

+2

解決:未分配$結果,而是使用實際ORM的對象,這是一個禁忌。正確的格式是count($ results) – 2011-05-09 19:05:01

回答

6

我認爲您在那裏有一個錯字 - 您已將結果分配給$result,但後來嘗試依靠$results

下面的代碼應該工作:

$result = ORM::factory('some_table')->where('id', 'IN', $ids)->find_all(); 
echo $result->count(); 
+0

實際上有點相關,實際上我的查詢跨越了幾行,實際上我並沒有將ORM結果賦值給任何東西,而是實際上使用了查詢對象本身!但是的確如此,在我的例子中你也發現了一個錯字,謝謝,解決了。 – 2011-05-09 19:02:50

+0

如果你只對計數感興趣,你可以不用'find_all'來使用'count_all'方法來獲得計數。 – DanO 2012-01-23 13:57:01