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來編寫它。