2011-04-04 50 views
-2

程序员。
我的下一个SELECT语句,使用Zend Framework创建:limitPage()在Zend Framework中有一些JOIN

$select = $this->select() 
    ->from('post') 
    ->setIntegrityCheck(false) 
    ->join('post_category', 'post.category_id = post_category.id', array(
     'category_name' => 'name', 
     'category_name_key' => 'name_key')) 
    ->joinLeft('post_comment', 'post_comment.post_id = post.id', array(
     'comment', 'comment_date_creation' => 'date_creation')) 
    ->limitPage(2, 10); 

但它在limitPage一个问题()。例如,我在post表中有100行。并且在JOINing SELECT之后返回(例如)200行。但我应该LIMIT只有post表与所有关系的行。我如何在使用Zend Framework的一个查询中执行此操作?

+0

不关心如果这样加载100行或200行,即使它们没有被使用,如果你觉得值得做一些优化,也可以先尝试使用一个好的缓存系统。 – 2011-04-04 20:29:19

+0

什么?我有一个很好的缓存。但我的问题是另一个问题。如果你没有答案,ПНХ。 – pltvs 2011-04-05 06:43:04

+0

那么,正如TomášFejfar所说,在SQL中不可能这样做,那么为什么要限制结果呢? – 2011-04-05 09:43:39

回答

2

真正的问题是,你会如何在普通的SQL中做到这一点?国际海事组织你不能在SQL中做到这一点。这就是你无法使用Zend_Db_Select来完成的原因;)使用你将要使用的普通SQL查询来更新你的文章,我会告诉你如何使用Zend_Db来编写它。