Laravel错误“模型/模型名称的声明应与Illuminate \ Database \ Eloquent \ Model兼容”

时间:2019-01-29 18:24:02

标签: laravel authentication composer-php

我面对有关laravel应用的奇怪问题。在我的生产服务器上更新作曲家后,出现此错误。我的登录页面显示正常,当我输入凭据时,它显示此错误,或者凭据错误或正确,它始终显示相同的错误。

错误是

  

App \ Models \ User :: update($ a_data = NULL,$ a_conditions = NULL)的声明应与Illuminate \ Database \ Eloquent \ Model :: update(array $ attributes = Array,array $ options = Array )

我在互联网上进行了搜索,但一无所获。请帮忙。会很感激的。

1 个答案:

答案 0 :(得分:1)

从父类覆盖方法时-方法的签名在参数及其类型上必须完全相同

在父类中,$attributes$options都被设置为array类型,因此您还必须在班级中以这种方式设置它们

namespace App\Models;

class User extends \Illuminate\Database\Eloquent\Model {
    ...
    public function update(array $attributes = [], array $options = []) {
       // ... your implementation
       return parent::update($attributes, $options);
    }
    ...
}