我正在尝试访问控制器中另一个模型的find()
。我正在接受
在非对象上调用成员函数find()错误
PollsController.php
(控制者):
class PollsController extends AppController{
public function add(){
$this->set('appNames', $this->App->find('list'));
}
}
Poll.php
(型号):
class Poll extends AppModel{
public $belongsTo = array ('App');
}
App.php
(型号):
class App extends AppModel{
public $hasMany = array('Poll');
}
注意:我也尝试了$this->Poll->App->find('list')
但仍然遇到同样的错误。
答案 0 :(得分:1)
应用程序是保留关键字。当我将类更改为SomethingController.php和Something.php时,一切都有效。
答案 1 :(得分:0)
如果要访问其他模型功能,则需要加载模型。几乎没有办法做到这一点。
这个只适用于控制器
$this->loadModel('App');
$this->App->find('first');
这个适用于模型和控制器
了解详情:CakeAPI: Class ClassRegistry
$appModel = ClassRegistry::init('App');
$appModel->find('first');
这个适合控制器
了解详情:CakeAPI: $uses variable in controller
//in Post Controller
public $use=array('Post','App');
答案 2 :(得分:0)
请在控制器中加载模态
public $ uses = array(" Poll");