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 に答える