PHPEye开源社区 » Zend Framework 使用讨论 » zend_table_select的疑问
《Programming PHP》第二版上市
2008-2-1 00:38 bc1998
zend_table_select的疑问

[php]
                $db = Zend_Registry::get ( 'db' );
                $select = $db->select ();
               
                $select->from ( array ('a' => 'article' ) );
               
                $select->joinLeft ( array ('c' => 'category' ), 'a.cid = c.id' );
                $goods_item = $db->fetchAll ( $select );
                Zend_Debug::dump ( $goods_item );
                die ();[/php]
[php]        $select = $this->article->select ();
                $select->from ( array ('a' => 'article' ) );
               
                $select->joinLeft ( array ('c' => 'category' ), 'a.cid = c.id' );
                $goods_item = $this->article->fetchAll ( $select );
                Zend_Debug::dump ( $goods_item );
                die ();[/php]
上面为zend_select的链接,出来东西完全正确,说明链接没有问题,
下面的为zend_table_select的链接,确提示无法链接.
这是为什么呢?如果zend_table_select的链接语句和zend_select的一样,还有什么意义呢?

2008-2-5 22:00 bc1998
解决了.
加上$select->setIntegrityCheck ( false );就好了
但是这么做有什么意义我还没发现什么好处.
待我在实际中运用一段时间吧.
我想把select和table混合起来会不会增加模型的灵活性呢?
第二我想可以满足一些喜爱面向对象用方法生成sql语句的爱好者,数组的方法生成查询还是有一定的限制.
具体好的应用我还没有在实际中证实,以上两点只是抛砖引玉.

2008-4-21 12:40 keenlio
照我看
$db = Zend_Registry::get ( 'db' ); 用于当你没有设定model时。
而当你的把article设定成一个model, 就只需要 Zend_Loader :: loadClass('article'); 然后这样能更灵活的控制整个table,你是对的。比如在model下加上几个function, 就能很灵活的读取,更改和添加table data.

呵呵 这是我的经验哈

页: [1]
查看完整版本: zend_table_select的疑问


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.