Larastan对未定义方法UserModel::merge()的调用



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();

最新更新