2011-10-07 11 views

回答

0

按照idiorm文檔:

在find_many(結束任何方法鏈)將返回ORM 類實例,一個用於通過查詢匹配的每一行的陣列。如果未找到行 ,則會返回一個空數組。

所以基本上你試圖在數組上調用一個方法,這不是一個對象,因此也是致命的錯誤。如果要將行作爲數組,則需要執行的操作是循環遍歷每個find_many()數組項,並將它們轉換爲單獨的as_array()調用的數組。或者,使用http://lt.php.net/array_map函數。

0

on a non-object在這種情況下意味着$db對象尚未初始化。用$db = new ORM;這樣的呼叫檢查你是否正確初始化變量。

+0

我正確初始化它,並且該方法「as_array()」正常工作與find_one() - > as_array(),問題是在多行的結果。 –

+0

我看到,這只是錯誤消息,表明它試圖在一個實際上不是對象的對象上找到名爲'find_many'的成員函數。由於'find_many'函數只在$ db對象上被調用,所以它不會被初始化,或者至少不會在代碼中的某個對象上調用。 – Clive