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