我已经用 Zend 构建了一个相当大的应用程序,我想知道哪个更好,手动构建查询(使用 Zend 对象模型)
$db->select()
->form('table')
->join('table2',
'table.id = table2.table_id')
或与findDependentRowset
方法 (findDependentRowSet 的 Zend 文档).
我想知道因为我做了一个测试来获取多个表中的数据并显示表中的所有信息和findDependentRowset
似乎跑得更慢了。我可能是错的,但我想它每次都会产生一个新查询findDependentRowset
被称为:
$table1 = new Model_Table1;
$rowset = $table1-fetchAll();
foreach($rowset as $row){
$table2data = $row->findDependentRowset('Model_Table2', 'Map');
echo $row['field'] . ' ' . $table2data['field'];
}
那么,哪一个更好,有没有一种方法可以使用findDependentRowset
构建可以跨越 5 个表的复杂查询,其运行速度与手工查询一样快?
Thanks
一般来说,构建自己的查询是最好的方法,因为 zend 将只创建一个对象(或一组对象)并只执行一个查询。
如果您使用 findDependentRowset Zend 将执行另一个查询并使用每次调用的结果构建另一个对象(或集)。
您应该只在非常特殊的情况下使用它。
看这个问题:PHP - 每次迭代查询单个值或在开始时获取所有值并从数组中检索?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)