我是CakePHP的新手,我到处寻找答案,但找不到原因。 我试图在远程模型中调用函数,如果我直接运行模型,它工作正常,但如果我从另一个模型运行它,它会导致'语法错误或访问冲突'错误。
以下是代码:
Cpanel控制器
class CpanelController extends AppController {
var $uses = array('Client');
public function index() {
$this->Client->index();
}
}
客户端模型
class Client extends AppModel {
public $useTable = 'users';
}
客户端控制器
class ClientController extends AppController {
public function index() {
echo "running";
}
}
当我从mysite / Client运行时,它运行得很好。 但是,如果我尝试从mysite / Cpanel加载它,它会抛出:
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 'index' at line 1
谢谢,
答案 0 :(得分:1)
您的index
模型中没有User
个功能。
也许你打算做的是
public function index() {
$this->Client->find('all');
}
否则你必须在模型
中创建一个索引函数class Client extends AppModel {
public $useTable = 'users';
public function index() {
// Do Something;
}
}
如果你想在CpanelController里面使用UserController这里是代码
App::uses('UserController', 'Controller');
$UserController= ClassRegistry::init('UserController');
$UserController->index();