无法在控制器中使用Component方法

时间:2014-08-12 08:44:00

标签: cakephp plugins cakephp-2.0 cakedc

我正在尝试使用Cake DC utils插件(http://github.com/CakeDC/utils),所以我可以使用Archive来创建类似于Wordpress的博客结构,但是当我调用该方法时,我得到一个sql语法错误:

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'archiveLinks' at line 1

我不确定我应该如何正确访问该方法,我在我的Bootstrap文件中加载了插件。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在大多数情况下,使用插件是一个两步过程,尤其是在使用“组件”,“行为”和“助手”时。

首先,正确地说,您需要使用app/Config/bootstrap.phpCakePlugin::load('MyPlugin')中加载插件,但实际上您还需要在相关课程中使用该文件。

组件&助手

// app/Controller/ExamplesController.php
public $components = ['MyPlugin.Component'];

public $helpers = ['MyPlugin.Helper'];

行为

// app/Model/Example.php
public $actsAs = ['MyPlugin.Behavior'];

简而言之,问题是你的组件没有加载到控制器中,因此框架试图将你的archiveLinks作为SQL传递。