使用Zend Framework PHP加入表

时间:2009-07-29 10:50:42

标签: php zend-framework

我是Zend Framework的新手。

我理解Zend_Table的用法,并且可以使用与该类关联的表中的Zend函数来获取数据。

例如,我有一个视频表,而在另一个表中,我有视频与其所在类别之间的关联。

我有点难过如何激活框架中的以下选择:

SELECT * FROM videocategory WHERE categorycategory_id = 3 AND videoid = categoryvideo_id

任何建议都会很棒。

感谢。

2 个答案:

答案 0 :(得分:2)

$db->select()->from('video')->joinInner('category','video.id = category.video_id')->where('category.category_id = ?',3)
BTW:看起来你的数据库设计错误了。你的视频表中应该有category_id(如果是1个视频 - > 1个类别)或者有连接表(M:N),但将视频ID存储在类别中似乎是错误的。

答案 1 :(得分:1)

我会使用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)