CakephpでWeb開発をしているのですが、
Modelに独自メソッドを追加したのですが、Controllerから呼び出すことができません。
ローカル環境(開発)では問題なかったのですが、さくらインターネットにアップすると、呼び出しているところで下記のエラーが出ました。
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 '_ranking' at line 1
「_ranking」がメソッド名なのです。中身は「return "a"」としているだけなのですが、それでも上記のエラーが出ます。
Controller側
class RankingController extends AppController { public $scaffold; public $uses = array('Mstusers'); public $components = array('Common'); public function index() { echo this->Mstusers->_ranking(); }
Model側
class Mstusers extends AppModel { /** 使用テーブル名 */ public $useTable = 'mstusers'; /** 主キー(省略時は「id」になるので省略も可) */ public $primaryKey = 'id'; public function _ranking(){ return "a"; }
どうやら「_ranking」が「find」など、sql実行するメソッドとして扱われてしまっている感じがします。。メソッド名の変更も試しました。
ローカル環境では問題なく動作し、レンタルサーバにアップすると起きる現象です。
設定などがあるのでしょうか?
ぜひご教授いただければと思います。
よろしくお願いいたします。