Laravel “拉威尔误差”;模型/模型名称的声明应与Lightlight\Database\Eloquent\model兼容;

Laravel “拉威尔误差”;模型/模型名称的声明应与Lightlight\Database\Eloquent\model兼容;,laravel,authentication,composer-php,Laravel,Authentication,Composer Php,我面临一个关于laravel申请的奇怪问题。在我的生产服务器上更新composer后,我收到了此错误。我的登录页面显示良好,当我输入凭据时,它显示此错误,凭据错误或正确,它始终显示相同的错误 错误是 App\Models\User::update($a_data=NULL,$a_conditions=NULL)的声明应与illumb\Database\Eloquent\Model::update(array$attributes=array,array$options=array)兼容 我在网上

我面临一个关于laravel申请的奇怪问题。在我的生产服务器上更新composer后,我收到了此错误。我的登录页面显示良好,当我输入凭据时,它显示此错误,凭据错误或正确,它始终显示相同的错误

错误是

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


我在网上搜索过,但什么也没找到。请帮忙。将非常感谢。

当从父类重写方法时-该方法的签名在参数及其类型方面必须完全相同

在父类中,
$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);
    }
    ...
}

用户模型中不能有
update()
方法。Laravel在基本模型类中已经有一个实现接口的方法。实际上我正在重写该方法。它工作得很好。我认为在更新我的composer后会出现这个问题。
update
需要一个数组作为参数try
App\Models\User::update([$a\u data=>NULL,$a\u conditions=>NULL])
Nope。。Mike这是一个语法错误。谢谢Yaron的回复。我只是想问一下,这是因为最新版本吗?因为它工作得很好。现在由于这个改变,我需要改变我的代码,就像你在我的所有模型中提到的一样。你使用什么版本?您的
composer.json
中的
laravel/framework
的版本是什么。更新用户模型后,如您所述,它似乎没有什么新的功能,它向我显示了另一个错误“App\Models\General::increment($s_table=NULL,$a_condition=Array,$s_column=NULL)的声明应该与illumb\Database\elount\model::increment($column,$amount=1,Array$extra=Array)兼容”现在是显示我的增量函数之一的错误。谢谢迈克的帮助。我确实改变了2到3个功能。现在我的申请又开始工作了。非常感谢。