Я создал довольно большое приложение с Zend, и мне было интересно, что было бы лучше: создавать запросы вручную (используя объектную модель Zend)
$db->select()
->form('table')
->join('table2',
'table.id = table2.table_id')
или использовать метод findDependentRowset
( Zend doc для findDependentRowSet ).
Мне было интересно, так как я сделал тест для выборки данных по нескольким таблицам и отображения всей информации из таблицы, а 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 таблиц, которые будут выполняться так же быстро, как и ручной запрос?
Спасибо