Я понимаю использование Zend_Table
и могу получить данные с помощью функций Zend из таблицы, связанной с этим классом. Например, у меня есть таблица видео, а в другой таблице у меня есть связь между видео и тем, в какой категории он находится.
Я немного озадачен тем, как активно выбирать в рамках рамки:
SELECT * FROM video,category WHERE category.category_id = 3 AND video.id = category.video_id
Я хочу сделать это в видеомодели, которая относится к видео таблице.
Вот грубый класс. Он использует адаптер Zend db напрямую, поэтому объект zend_db_table на самом деле не знает отношения, но он работает.
class Video extends Zend_Db_Table { public function doQueryWithSql($id) { $qy = " SELECT * FROM video,category WHERE category.category_id = $id AND video.id = category.video_id "; return $this->getAdapter()->fetchAll($qy); } public function doQueryWithObject($id) { $select = $this->getAdapter()->select(); $select->from(array('v'=>'video')) ->join(array('c'=>'category'),'v.id = c.video_id') ->where("c.category_id = $id"); return $this->getAdapter()->fetchAll($select); } }
Из того, что вы опубликовали, кажется, что существует связь между таблицами для видео и категорий: в категории есть много видео и видео принадлежит к категории. Вы должны проверить эту статью на отношениях Zend_Db_Table.