【问题标题】:Unknown methode is showing when calling a methode in controller ,which is present in model of that controller in cakephp 3.2在控制器中调用方法时显示未知方法,该方法存在于 cakephp 3.2 中该控制器的模型中
【发布时间】:2016-03-09 09:44:06
【问题描述】:

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

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

我在 3x 中使用了相同的方法,但它无法显示 未知方法“add_school”

我也在模型中定义了函数

下面是模型代码School.php

学校.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” 请给我建议。 提前谢谢你。

【问题讨论】:

  • 错字你的学校应该是学校

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


【解决方案1】:

您需要更仔细地研究文档,因为您正在混淆实体和表格。前者代表数据,后者用于与数据库交互。

您的自定义方法应该进入您的SchoolsTable 类(在src/Model/Table 中),然后,鉴于$this-&gt;Schools 存在(您可能需要使用$this-&gt;loadModel('Schools')),您可以通过该引用调用您的方法。

【讨论】:

    【解决方案2】:

    您的编写代码是正确的,因为您的代码有 mistek,即 是的,只用了一个 mistek "s"

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多