在具有扩展模型的非对象上调用成员函数find()

时间:2013-02-19 14:37:24

标签: php cakephp

我有一个“管理员”模型,它扩展了另一个模型“用户”,扩展了“AppModel”。

我有一个控制器“ApisController”,我试图从admins表中查询数据。

所以我正在做这样的事情:

$admins = $this->Admin->find('all');

但是当我这样做时,我收到以下错误消息:

Error: Call to a member function find() on a non-object 
File: /home/farhan/www/core/app/Controller/ApisController.php   
Line: 9

如果我尝试在控制器“AdminsController”中执行相同的操作,一切正常。所以我不确定我做错了什么。我是新蛋糕,所以我理解这是一个简单的错误。

1 个答案:

答案 0 :(得分:1)

如果您有ApisController并且想要使用“Admin”模型(显然不是“Apis”中的单数形式 - 它可能是Api),您需要手动声明您使用过的模型:

public $uses = array('Admin');

然后控制器将“Admin”模型作为主要模型提供。

Book

默认是蛋糕试图根据拐点找到合适的蛋糕:

PostsController => Post model
(plural => singular)