是否可以针对Zend_Db_Table_Row对象运行SQL(Zend_Db_Select)查询?加入两个Zend_Db_Table_Row对象怎么样?
我知道这听起来有点迟钝,但我正在处理数百和数千行。我已经拥有了我正在操作的行对象,因此我不想再次查询数据库。
我希望这很清楚。如果没有,请让我澄清。
修改
为了澄清,对象在内存中。我已经从数据库中检索了它们。
原因是:
“日志”表中有数千条记录。我需要根据多个用户定义的标准对这些做出反应。处理这些日志时,时间很重要。有一个新的流程是分叉的,以便及时实现。为每个日志分叉一个新进程。因此,对象已经存在于内存中。
答案 0 :(得分:1)
考虑定义关系,然后在Row对象上调用findDependentRowset():
http://framework.zend.com/manual/en/zend.db.table.relationships.html
答案 1 :(得分:0)
您拥有的Zend_Db_Table_Row
个对象是行,无法查询它们,因为它们不再存在于数据库中,它们作为ZF的一部分存储在内存中。它们是由PHP处理的内存中的一组数据 - 它们不再与数据库有任何关系,因此无法按照您的建议查询它们。
您应该在模型或findDependentRowset()
类中使用Zend_Db_Table
来定义表之间的关系,然后ZF会将连接语句一起写入JOIN
表,然后连接的数据将查询数据库后,请在Zend_Db_Table_Row
个对象中。
或者,您可以将join()
详细用作here到JOIN
两个或多个表格。您需要在要查询的选择对象上执行连接。您需要使用数据库引擎的强大功能来获取所需的数据。在PHP中执行此操作要比使用数据库慢得多。