php - Cakephp错误: in paginator joins generated query

标签 php mysql sql cakephp pagination

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

$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 (业务.id = 'BusinessesCategory.business_id')

我该如何解决这个问题。因此,它不包含值的单引号

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

最佳答案

给你:--

    $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');

关于php - Cakephp错误: in paginator joins generated query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23101715/

相关文章:

javascript - 合并 PHP 数组和嵌套关系

php - Facebook 标签高度滚动条

mysql - 基于mysql中两个表的JOIN更新多个字段

php - 这两个查询之间的区别

PHP MySQLi 异步查询

c# - 获取用户名是否已存在于 MYSQL 数据库中,使用 C#

mysql - 删除 MYSQL 数据库中的行后需要进行后期优化

mysql - 如何在 SQL 中将两个表连接在一起?

mysql - Ruby on Rails 在单个查询中更新多个记录

php - 检查网站是否包含字符串