我有一个包含位置属性的用户表,并且想创建一个模型函数来检索附近的用户(在给定的半径内)。这是我的模型:
类用户扩展 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 中为模型添加自定义函数?