请帮我修复蛋糕php中的sql查询

时间:2013-06-03 10:37:53

标签: sql cakephp

我想知道在哪里写选择查询是用cake php编写的我只在控制器中看到以下代码

function getpages($position = 'top') {
        return $this->Page->find('all', array('conditions' => 'Page.'.$position.'_show > 0', 'order' => 'Page.'.$position.'_order ASC'));
}

及其给出以下错误

  

警告(512)SQL错误:1064:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'FROM AS `Page` WHERE `Page`.`top_show` > 0 ORDER BY `Page`.`top_order` ASC'附近使用正确的语法

$this->set('categories', $this->Category->find('all', array('conditions' => array('Category.parent_id' => $category['Category']['id']), 'order' => array('Category.name' => 'asc'))));

发出以下错误

  

SQL错误:1064:您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在''

附近使用正确的语法

请告诉我如何解决它

2 个答案:

答案 0 :(得分:0)

这是编写查询的正确方法:

$this->set('categories', $this->Category->find('all', array('conditions' => array('Category.parent_id' => $category['Category']['id']), 
'order' => 'Category.name ASC'))));

答案 1 :(得分:0)

首先这是你正确的格式

  $this->set('categories', $this->Category->find('all', array('conditions' => array('Category.parent_id' => $category['Category']['id']), 
'order' => 'Category.name ASC'))));

第二个在类别模型类

中添加这两个
var $useTable = 'Categories'; // Actual table name
var $alias = 'Category';

这就是我的理解。