Larastan抱怨以下代码:
$update = $request->all();
/** @var UserModel $user */
$user = UserModel::where('email', $request->get('email'))->get()->first();
$update['name'] = 'foobar';
$user->merge($update);
$user->save();
Larastan错误:
调用未定义的方法UserModel::merge((
PhpStorm也发出警告:
未找到方法merge((
我不确定有什么问题
merge()
是集合的方法,而不是Model对象。
在get()
方法之后,您得到了一个集合。将first()
应用于集合,可以得到模型对象。因此它没有方法merge()
;
如果您想更新字段,可以尝试update()
方法:
$user->update($update);
或设置属性:
$user->name = 'foobar';
$user->save();