当我在不同的模型表单示例中时,如何访问方法$this->someModel->find('all')
:
class DevicesController extends AppController {
public function add(){
$departments = $this->Department->find('all', array(
'fields' => array('id', 'mac')
));
$this->set(compact('departments'));
.....
.....
}
现在出现错误,因为$this
没有“看到”Department
我需要做些什么来实现它。
答案 0 :(得分:1)
如果模型实际上是相关的(并且在模型中正确设置),那么它将是
$this->Device->Department->...
否则使用loadModel()作为记录。
答案 1 :(得分:0)
如果模型不相关,请尝试这种方式:
$this->loadModel('Department');
$departments = $this->Department->find('all', array(
'fields' => array('id', 'mac')
));
$this->set(compact('departments'));
答案 2 :(得分:0)
你不能只使用loadModel(),因为它是控制器的方法。 如果您的模型不相关,您可以这样做
$this->ModelName = ClassRegistry::init('ModelName');
$this->ModelName->find...
如果相关则只需使用
$this->ModelName->find...
答案 3 :(得分:0)
尝试使用此代码在控制器上加载不同的模型。 public $ uses = array('ModelName1','ModelName2') $这 - > ModelName1->发现()........