【发布时间】:2011-04-04 18:40:12
【问题描述】:
程序员。
我有下一个 SELECT 语句,使用 Zend 框架创建:
$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 框架在一个查询中做到这一点?
【问题讨论】:
-
不管这加载的是 100 行还是 200 行,即使它们没有被使用,如果你认为值得做一些优化,请先尝试使用一个好的缓存系统。
-
什么?我有一个很好的缓存。但我的问题是另一个问题。如果您没有答案,请ПНХ。
-
嗯,正如 Tomáš Fejfar 所说,在 SQL 中不可能做到这一点,那你为什么要限制结果呢?
-
哈哈。我是在 ONE 查询的帮助下完成的。
标签: php mysql zend-framework select join