Я бы хотел перебрать строки данных, хранящиеся в объекте Zend_Db_Table_Rowset, а затем удалить / сбросить некоторые строки, если они не соответствуют определенным критериям.
Я мог бы использовать toArray (), чтобы получить только строки данных от объекта, и тогда было бы легко сбросить ненужные мне строки. Но так как я хочу сохранить свой объект для дальнейшего использования, я не хочу этого делать.
Конечно, одним из решений было бы настроить мой запрос, чтобы получить только то, что мне нужно, но в этом случае это невозможно. По крайней мере, я не знаю, как.
Я попробовал следующее, которое не сработало:
foreach ($rowset as $key => $row)
{
if (!$condition == satisfied)
{
unset($rowset[$key]);
}
}
И, конечно, это не работает, так как нет $ rowset [$ key] ... данные хранятся в подмассиве [_data: protected], но сброшено $ rowset [_data: protected] [$ key] тоже не работал.
Может быть, моя концепция объекта набора строк (или представление объектов в целом) недостаточно развита, чтобы понять, что я делаю. Любые разъяснения и советы приветствуются!
[EDIT]
$ row-> delete - это НЕ опция, я не хочу удалять строку из базы данных!
Я не хочу сначала создавать массив, если бы я хотел, я бы просто сделал $ rowset-> toArray ()
[/ EDIT]
Решение : Я закончил тем, что делал то, что, как мне показалось, тоже не смог, то есть все интегрировал в первоначальный запрос.