0

Larastan 抱怨以下代码:

$update = $request->all();

/** @var UserModel $user */
$user = UserModel::where('email', $request->get('email'))->get()->first();

$update['name'] = 'foobar';

$user->merge($update);
$user->save();

拉拉斯坦错误:

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

PhpStorm 也给出警告:

找不到方法合并()

我不确定这里的问题是什么

4

1 回答 1

1

merge()是收集的方法,不是Model对象。

get()方法之后,你得到一个集合。应用first()到集合,你得到模型对象。所以它没有方法merge()

如果要更新字段,可以尝试update()方法:

$user->update($update);

或设置属性:

$user->name = 'foobar';
$user->save();
于 2020-04-22T11:51:45.407 回答