很好的一天,
我重写了10月份CMS机型的保存功能。
public function save(Array $options=[])
当我试图保存时,它抛出了一个错误。
MyCompany\MyPlugin\Models\MyModel::save(array$options=array)的声明应与/a/b/c/d/mysite/plugins/MyCompany/MyPlugin/Models/MyModel.php第42行的10月\Rain\Database\Model::save(array$options=NULL,$sessionKey=NULL)兼容
所以我修改了save函数。
public function save(Array $options=[], $sessionKey=null)
然后我得到了这个令人困惑的错误。
类型错误:传递给MyCompany\MyPlugin\Models\MyModel::save()的参数1必须是在/a/b/c/d/mysite/modules/backend/behaviors/FormController中调用的数组类型,给定为null。php on line 251“on line 38 of/a/b/c/d/mysite/plugins/mycompany/myplugin/models/MyModel.php
那么,如果在那里传递null,那么考虑到类继承强制参数1为数组,模型如何保存?
编辑:这里是/a/b/c/d/mysite/modules/backend/behaviors/FormController的第251行。php
$modelToSave->save(null, $this->formWidget->getSessionKey());
因此,基类将接受null,即使类型暗示需要数组,但在重写函数时,将不再接受null?