Larastan Вызов неопределенного метода UserModel :: merge () - PullRequest
0 голосов
/ 22 апреля 2020

Ларастан жалуется на следующий код:

$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 также выдает предупреждение:

Метод merge () не найден

Я не уверен, что проблема здесь

1 Ответ

1 голос
/ 22 апреля 2020

merge() - это метод коллекции, а не объект модели.

После метода get() вы получили коллекцию. При использовании first() к коллекции вы получаете объект модели. Поэтому у него нет метода merge();

, если вы хотите обновить поля, вы можете попробовать метод update():

$user->update($update);

или установить атрибут:

$user->name = 'foobar';
$user->save();
...