我想迭代存儲在Zend_Db_Table_Rowset對象中的數據行,然後刪除/取消設置某些行(如果它們不符合特定條件)。Zend Framework:如何取消設置Zend_Db_Table_Rowset對象中的數據行
我可以使用toArray()從對象中只獲取數據行,然後很容易取消我不需要的行。但因爲我想保留我的對象以供進一步使用,所以我不想那樣做。
當然,一個解決方案是調整我的查詢,以便只檢索我需要的東西,但在這種情況下這是不可能的。至少我不知道如何。
我試過,沒有工作的情況如下:
foreach ($rowset as $key => $row)
{
if (!$condition == satisfied)
{
unset($rowset[$key]);
}
}
當然,這是行不通的,因爲沒有$行集[$關鍵] ...的數據存儲在一個子陣列[_data:protected]但未設置$ rowset [_data:protected] [$ key]也不起作用。
也許我對行集對象的概念(或者一般對象的表示)還不夠成熟,無法理解我在做什麼。任何澄清和技巧將受到歡迎!
[編輯] $ row-> delete不是一個選項,我不想從數據庫中刪除該行! 我不想先創建一個數組,如果我想我會只是做$ rowset->指定者() [/編輯]
解決方案:最後我做什麼,我想我沒」這也意味着我將所有內容整合到最初的查詢中。
不,我需要的對象是健康的。並使用$ rowset-> toArray()創建一個數組非常簡單。 – markus 2009-04-18 20:13:07
$ rowset-> toArray()不會生成行對象。它將整個行集作爲數組返回。這就是爲什麼我沒有使用它。 – smack0007 2009-04-19 09:34:49
上面的自定義行集可能是您最好的選擇。 – smack0007 2009-04-19 09:35:29