首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cakephp bug :在分页器中连接生成的查询

Cakephp bug :在分页器中连接生成的查询
EN

Stack Overflow用户
提问于 2014-04-16 06:30:15
回答 1查看 99关注 0票数 0

下面的代码在联接查询中生成带有单引号的查询

代码语言:javascript
运行
复制
$this->Paginator->settings = array(
            'joins' => array(
                array(
                  'table' => 'businesses_categories',
                  'alias' => 'BusinessesCategory',
                  'type' => 'LEFT',
                  'conditions' => array('Business.id' => 'BusinessesCategory`.`business_id'),
                ),
                array(
                  'table' => 'categories',
                  'alias' => 'Category',
                  'type' => 'LEFT',
                  'conditions' => array('BusinessesCategory.category_id' => 'Category.id'),
              ),
            ),
            'conditions' => array(
                'Category.id' => 24),
            'limit' => 10
        );

        $businesses = $this->Paginator->paginate('Business');

我添加了由上面的分页器查询生成的查询。当我使用ON (Business.id = BusinessesCategory.business_id)而不是ON (Business.id =business_id)时,查询工作正常。

我该怎么解决这个问题。因此,它不包括对值的单引号。

代码语言:javascript
运行
复制
SELECT `Business`.`id`,
       `Business`.`state`,
       `Business`.`slug`,
       `Business`.`city`,
       `Business`.`suburb`,
       `Business`.`user_id`,
       `Business`.`business_name`,
       `Business`.`business_address`,
       `Business`.`business_postal`,
       `Business`.`business_postal_id`,
       `Business`.`business_phone`,
       `Business`.`business_phone1`,
       `Business`.`business_phone2`,
       `Business`.`business_email`,
       `Business`.`business_website`,
       `Business`.`business_details`,
       `Business`.`business_openinghours`,
       `Business`.`business_service`,
       `Business`.`business_addtionalinfo`,
       `Business`.`business_lat`,
       `Business`.`business_lng`,
       `Business`.`identity`,
       `Business`.`status`
FROM `yuldicom`.`businesses` AS `Business`
LEFT JOIN `yuldicom`.`businesses_categories` AS `BusinessesCategory` ON (`Business`.`id` = 'BusinessesCategory`.`business_id')
LEFT JOIN `yuldicom`.`categories` AS `Category` ON (`BusinessesCategory`.`category_id` = 'Category.id')
WHERE `Category`.`id` = 24 LIMIT 10
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 06:54:29

给你:--

代码语言:javascript
运行
复制
    $this->Paginator->settings = array(
        'joins' => array(
            array(
              'table' => 'businesses_categories',
              'alias' => 'BusinessesCategory',
              'type' => 'LEFT',
              'conditions' => array('Business.id=BusinessesCategory.business_id'),
            ),
            array(
              'table' => 'categories',
              'alias' => 'Category',
              'type' => 'LEFT',
              'conditions' => array('BusinessesCategory.category_id=Category.id'),
          ),
        ),
        'conditions' => array(
            'Category.id' => 24),
        'limit' => 10
    );

    $businesses = $this->Paginator->paginate('Business');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23101715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档