2008-3-26 11:45
wingZZseed
关于Zend_Db_Table在项目中的作用
我几乎看遍了所有的ZF教程 对Model的层的代码无外乎都是继承自Zend_Db_Table的类 并且任何方法都没写
我想请问实际开发中 不可能这样的吧?Zend_Db_Table有很多限制 它只是针对一个表的操作
我现在遇到一个问题 举个例子 文章和Tag的关系
我已知一个文章ID 要根据这个ID取出他的所有Tag
我现在有文章表Article、Tag表、还有一个对应关系表
一个文章可以有多个Tag 一个Tag也可以对应多个文章
对应关系表也包含一些数据 比如这篇文章被打上Tag的时间、打tag的用户名等等
那么 我想要取出ID为1的文章的所有Tag、同时还要有打上Tag的时间和用户 怎么办?
用Zend_Db_Table 的 Relationships 只能单个的取 不能一次取出来 这样就要读两次数据库 而且还要自己合并两个Zend_Db_Table_Rowset
不知道大家遇到这种情况是怎么解决的?
2008-4-21 15:41
keenlio
手写吧,我做过这样的:
$setup = $db -> fetchAll (' SELECT ffr.resrc, ffr.descr, ffr.privilege, ffr.url, ffr.image, ffrtype.name, menulist.listId, menulist.parent,menulist.lineSep, menulist.child
FROM ffr, ffrtype, ffrmodule, menulist
WHERE ffr.ffrTypeId = ffrtype.ffrTypeId
AND ffrtype.name = "Setup"
AND menulist.ffrId = ffr.ffrId
AND ffrmodule.ffrId = ffr.ffrId
AND ffrmodule.modId = "MOD1"
order by ffr.ffrId');
Model方便我们对table做单一的query, 若要三个以上对table做复杂的query还是得手写。
[[i] 本帖最后由 keenlio 于 2008-4-21 15:44 编辑 [/i]]