我有一个包含位置属性的用户表,并且想创建一个模型函数来检索附近的用户(在给定的半径内)。这是我的模型:
类用户扩展 AppModel {
公共函数 getNearbyUsers($id,$dist=10) {
返回 $this->query(...);
}
}
这是我试图调用该函数的控制器:
类用户控制器扩展 AppController {
公共函数 getNearbyUsers($id) {
...
$this->User->getNearbyUsers($id)
...
}
}
然而,这样做会导致:PHP Fatal error: Call to a member function getNearbyUsers() on a non-object
我究竟做错了什么?
编辑:没关系,它不再抱怨了。但它抛出了一个 SQL 错误,我的模型函数实际上从未被调用过。在进一步检查 mysql 查询日志后,我看到:
查询 SHOW TABLES FROM `xxx`
查询 getNearbyUsers
退出
似乎 CakePHP 将 $this->User->getNearbyUsers 解释为文字查询。所以我的问题仍然存在:如何在 Cake 中为模型添加自定义函数?