CakePHP树行为错误

CakePHP树行为错误,php,mysql,cakephp,Php,Mysql,Cakephp,我得到的实际错误是: 语法错误或访问冲突:1064您的SQL中有错误 句法;检查与MySQL服务器版本对应的手册 在第1行使用接近“children”的正确语法 它让我发疯,甚至想象不出它为什么会被养大 在我的控制器CategoryController.php中,我有: public function index($id = null) { $this->set('categories', $this->Category->children($id, true));

我得到的实际错误是:

语法错误或访问冲突:1064您的SQL中有错误 句法;检查与MySQL服务器版本对应的手册 在第1行使用接近“children”的正确语法

它让我发疯,甚至想象不出它为什么会被养大

在我的控制器
CategoryController.php
中,我有:

public function index($id = null) {
    $this->set('categories', $this->Category->children($id, true));
在model
Category.php
中:

public $actsAs = array('Containable', 'Tree');

CakePHP版本:2.4.1

根据我的经验,只有当您的模型配置错误,并且您的模型返回到AppModel时,才会发生这种情况

您应该调试
$this->Category
。 例如,在插件内部,您需要定义包括插件名称在内的关系:

public $belongsTo = array(
    'Category' => array(
        'className' => 'PluginName.Category',
        'foreignKey' => 'category_id',
    )
);   

专业提示:为了避免这种情况发生在我身上,我为开发设置提供了以下代码片段:

请激活调试模式并共享Cake所做的SQL查询。正如错误消息明确指出的那样,存在一个SQL语法错误。它没有达到生成SQL的程度query@Mopheus很明显,如果它抛出了一个MySQL语法错误,那么它就是错误的。如果它是实际的(有效的)模型,那么您是否调试了(
$this->Category
?如果由于配置错误而返回到AppModel,这将解释您看到的错误。@标记“是”,返回到AppModel。加上你的评论作为回答,我会接受的。