0

我是 cakePHP 的新手,我到处寻找答案,但找不到原因。我试图在远程模型中调用一个函数,如果我直接运行模型,它工作正常,但如果我从另一个模型运行它,它会导致“语法错误或访问冲突”错误。

这是代码:

面板控制器

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

谢谢,

4

1 回答 1

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();
于 2013-10-02T07:55:09.737 回答