调用控制器中的方法时显示未知的方法,该方法存在于cakephp 3.2中该控制器的模型中

时间:2016-03-09 09:44:07

标签: php cakephp-3.0 cakephp-3.x cakephp-3.2

我是cakephp 3.2的新手 我通过这种方式在cakephp 2X版本中调用模型来保存数据。

 $this->Schools->add_school($schools);

我在3x中使用了相同的功能,但它没有显示出来 未知方法“add_school”

我已经在模型中定义了函数

下面是型号代码School.php

School.php

<?php

namespace App\Model\Entity;
use Cake\Auth\DefaultPasswordHasher;
use Cake\ORM\Entity;



class School extends Entity
{

      public function add_school($schools) {
        echo "hii";exit;
    }
}

错误正在显示 未知方法“add_school” 请建议我。 提前谢谢。

3 个答案:

答案 0 :(得分:0)

你需要更仔细地研究文档,你要混合实体和表格。前者代表数据,后者用于与数据库交互。

您的自定义方法应该进入SchoolsTable课程(src/Model/Table),然后,鉴于存在$this->Schools(您可能需要使用$this->loadModel('Schools')),您可以致电通过该参考的方法。

答案 1 :(得分:-1)

简单的拼写错误 - $this->Schools错误 - class School应该被称为$this->School->

编辑:为什么有人低估了所有答案?

答案 2 :(得分:-1)

你的编写代码是正确的,因为你的代码有mistek 是的,只使用了一个mistek“s”

$this->School->add_school($schools);