ロケーション属性を持つ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のモデルにカスタム関数を追加する方法は?