Я относительно новичок в Zend Framework.
Я понимаю использование Zend_Table и могу получить данные с помощью функций Zend из таблицы, связанной с этим классом.
Например, у меня есть таблица видео, а в другой таблице у меня есть связь между видео и тем, в какой категории он находится.
Я немного озадачен тем, как активно выбирать в рамках рамки:
SELECT * FROM video
, category
WHERE. category_id
= 3 И video
. id
= category
. video_id
Будем признательны любому совету.
Благодарю.
$db->select()->from('video')->joinInner('category','video.id = category.video_id')->where('category.category_id = ?',3)
BTW: Похоже, у вас неправильный дизайн db. Вы должны иметь category_id в своей видео таблице (если 1 видео -> 1 категория) или иметь таблицу соединений (M: N), но, похоже, неправильно иметь идентификатор видео, сохраненный в категории.
Я бы использовал Zend_Db_Select
:
$select = $this->db->select()->from(array('v' => 'video')) ->join(array('c' => 'category'),'v.id = c.video_id') ->where('c.category_id = ?', 3); print_r($select->__toString());
Вывод:
SELECT `v`.*, `c`.* FROM `video` AS `v` INNER JOIN `category` AS `c` ON v.id = c.video_id WHERE (c.category_id = 3)