[英]CakePHP: Controller not finding Model function
因此,我遇到了致命的错误,因为当控制器调用方法时,该方法是未定义的。 虽然这不是真的,因为该方法在类模型中。
StudentsController.php
<?php
class StudentsController extends AppController{
public function index(){
$students = $this->Student->find('all');
$this->set('students', $students);
}
public function add(){
if($this->request->is('post')){
$this->formatData($this->request->data);
}
}
}
?>
然后我的模型:Student.php(模型)
<?php
class Student extends AppModel{
var $studentData;
public function formatData($studentData){
if(is_null($studentData)){
return false;
}else{
echo $studentData;
}
}
}
?>
您没有在模型上调用该方法,而是在没有此类方法的控制器上调用,因此出现错误。
虽然控制器可以自动加载模型,但它不公开其API,它只是通过魔术属性访问器使模型的实例可用。
而不是
$this->formatData($this->request->data);
你必须像这样在模型上调用方法:
$this->Student->formatData($this->request->data);
也可以看看
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.