$models = new Models();
$select = $models->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
$select->setIntegrityCheck(false)
->join(array("a"=>"manufacturers"), 'models.manufacturer_id = a.id',
array("man_name"=>"name", "man_description"=>"description"))
->where("a.name LIKE 'A%'");
$rowset = $models->fetchAll($select);
Sayangnya Zend_Db_Table
antarmuka hubungan tidak memiliki banyak kecerdasan di dalamnya terkait dengan pembuatan kueri gabungan dari peta referensi yang dideklarasikan. Solusi kontribusi komunitas untuk kueri kompleks adalah Zend_Db_Table_Select
pabrik kueri.
Perhatikan bahwa Anda harus memberikan alias kolom untuk nama dan deskripsi produsen, atau kolom ini akan menyembunyikan nama dan deskripsi model dalam larik asosiatif untuk data baris. Anda harus memberi nama kolom dengan jelas untuk menghindari hal ini.
Tetapi dalam kasus Anda, saya akan melewatkan antarmuka tabel dan antarmuka pilih, dan cukup menjalankan kueri SQL secara langsung menggunakan adaptor Db:
$data = $db->fetchAll("
SELECT m.*, a.name AS man_name, a.description AS man_description
FROM Models m JOIN Manufacturers a ON m.manufacturer_id = a.id
WHERE a.name LIKE 'A%'");
Anda akan mendapatkan data kembali sebagai array sederhana dari array asosiatif, bukan sebagai Zend_Db_Table_Rowset
. Tetapi karena rowset yang digabungkan tidak dapat ditulisi, Anda tidak banyak berkorban.