标题: 关于Zend_Db_Table在项目中的作用
wingZZseed
新手上路
Rank: 1



UID 936
精华 0
积分 0
帖子 1
翻译 0
原创 0
阅读权限 10
注册 2008-3-26
状态 离线
发表于 2008-3-26 11:45  资料  短消息  加为好友 
关于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

不知道大家遇到这种情况是怎么解决的?

顶部
Freebear
新手上路
Rank: 1



UID 914
精华 0
积分 0
帖子 12
翻译 0
原创 0
阅读权限 10
注册 2008-3-19
状态 离线
发表于 2008-3-26 16:09  资料  短消息  加为好友 
zend framework 1.5.0 现在支持外连接了。
如果不行,你也可以用存储过程。不一定非要用zend framework

顶部
haohappy
超级版主
Rank: 8Rank: 8
PHPEye站长


UID 2
精华 11
积分 110
帖子 260
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
发表于 2008-3-27 23:48  资料  短消息  加为好友  添加 haohappy 为MSN好友 通过MSN和 haohappy 交谈
我最近也在做一个和delicious类似的项目,涉及到tag。 我觉得有些地方还是要自己手写sql,否则效率较低。





互助共享,共同成长。
顶部
keenlio
新手上路
Rank: 1



UID 147
精华 0
积分 0
帖子 25
翻译 0
原创 0
阅读权限 10
注册 2007-7-3
来自 新加坡
状态 离线
发表于 2008-4-21 15:41  资料  主页 短消息  加为好友  添加 keenlio 为MSN好友 通过MSN和 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还是得手写。

[ 本帖最后由 keenlio 于 2008-4-21 15:44 编辑 ]





不思量 自难忘
顶部
 


PHPEye社区--LAMP开源技术社区


当前时区 GMT+8, 现在时间是 2008-7-21 02:24

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.011000 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - PHPEye开源社区 - Archiver - WAP