ロケーション属性を持つusersテーブルがあり、(指定された半径内の)近くのユーザーを取得するモデル関数を作成したいと考えています。これが私のモデルです:
クラスUserextendsAppModel {
パブリック関数getNearbyUsers($ id、$ dist = 10){
$ this-> query(...);を返します。
}
}
そして、これが私が関数を呼び出そうとしている私のコントローラーです:
クラスUsersControllerはAppControllerを拡張します{
パブリック関数getNearbyUsers($ id){
..。
$ this-> User-> getNearbyUsers($ id)
..。
}
}
ただし、そうすると次のようになります。PHP Fatal error: Call to a member function getNearbyUsers() on a non-object
私は何が間違っているのですか?
編集:気にしないでください、それはもうそれについて不平を言っていません。しかし、SQLエラーがスローされ、モデル関数が実際に呼び出されることはありません。mysqlクエリログをさらに調べると、次のように表示されます。
`xxx`からSHOWTABLESをクエリします
getNearbyUsersをクエリします
終了する
CakePHPは$this->User->getNearbyUsersをリテラルクエリとして解釈しているようです。だから私の質問はまだ残っています:Cakeのモデルにカスタム関数を追加する方法は?