是的,是可能的 - Zend_Db_Table提供了一個接口來執行表上的各種操作。
$table = new Model_DbTable_Classes(); // which extends Zend_Db_Table_Abstract
$select = $table->select()->setIntegrityCheck(false);
$select->join('class_students', 'class_students.class_id = classes.class_id')
->join('students', 'student.student_id = class_students.student_id')
->where('classes.class_id = ?', 1)
->where('student.student_id = ?', 10);
$result = $table->fetchAll($select);
print_r($result->toArray());
因爲我不會用這種特殊情況:例如,考慮到要執行多個表選擇,並假設你有你的數據庫適配器配置正確,我們可以像下面這樣結束了但是Zend_Db_Table,當我只需要對單個表執行操作時,我傾向於使用Zend_Db_Table。至於多表選擇,我寧願去與數據庫選擇,或構建我的查詢舊式(SQL字符串),並獲取它使用我的數據庫對象。
希望它能幫助:)
M.