Как можно запросить Zend_Db_Table_Row - PullRequest
0 голосов
/ 01 сентября 2010

Можно ли выполнить запрос SQL (Zend_Db_Select) для объекта Zend_Db_Table_Row?Как насчет объединения двух объектов Zend_Db_Table_Row?

Я знаю, что это звучит немного запаздывающе, но я обрабатываю сотни и тысячи строк.У меня уже есть объект строки, которым я манипулирую, поэтому я не хочу снова запрашивать базу данных.

Надеюсь, это понятно.Если нет, пожалуйста, попросите меня уточнить.

Редактировать:

Чтобы уточнить, объекты находятся в памяти.Я уже получил их из базы данных.

Причина этого:

В таблице "log" тысячи записей.Мне нужно реагировать на это в зависимости от нескольких пользовательских критериев.Время важно при обработке этих журналов.Там для нового процесса разветвляется, чтобы это произошло своевременно.Новый процесс разветвляется для каждого журнала.Следовательно, объекты уже существуют в памяти.

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

Рассмотрите возможность определения отношений и последующего вызова findDependentRowset () для объекта Row:

http://framework.zend.com/manual/en/zend.db.table.relationships.html

0 голосов
/ 04 сентября 2010

Имеющиеся у вас объекты Zend_Db_Table_Row являются строками, к ним нельзя обращаться, поскольку их больше нет в базе данных, они находятся в памяти как часть ZF. Они представляют собой набор данных в памяти, обрабатываемых PHP - они больше не имеют ничего общего с базой данных, поэтому их нельзя запрашивать, как вы предлагаете.

Вы должны использовать findDependentRowset() в своих моделях или Zend_Db_Table класс для определения отношений между таблицами, ZF запишет для вас операторы соединения в JOIN таблицы вместе, объединенные данные будут затем в Zend_Db_Table_Row объекты после запроса к базе данных.

Или вы можете использовать join() как подробно здесь до JOIN две или более таблиц вместе. Вам необходимо выполнить соединения на выбранном объекте, который вы запрашиваете. Вам нужно использовать всю мощь ядра базы данных, чтобы получить необходимые данные. Делать это в PHP намного медленнее, чем использовать базу данных.

...