【问题标题】:limitPage() with some JOINs in Zend Framework在 Zend 框架中带有一些 JOIN 的 limitPage()
【发布时间】: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


【解决方案1】:

真正的问题是,您将如何使用纯 SQL 来执行此操作?! IMO 你不能在 SQL 中做到这一点。这正是您不能使用 Zend_Db_Select 执行此操作的原因;) 使用您将使用的普通 SQL 查询更新您的帖子,我会告诉您如何使用 Zend_Db 编写它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    相关资源
    最近更新 更多