Методы сохранение данных в модели (БД) Laravel. Какой использовать?
№1 и №3 внутри идентичны, используйте, какой больше нравится и по логике больше подходит в конкретной ситуации. №2 выкиньте.
Первый способ позволяет заполнять поля которые не разрешены в fillable
Второй способ лучше всего, только название нужно дать нормальное. Для разных контекстов правила сохранения могут быть свои, поэтому хорошим тоном считается делать раздельные конструкторы и персисты. Как пример, на этапе регистрации пользователь задаёт все поля, а при редактировании email менять нельзя.
Третий способ самый использует массовое заполнение и не заполнит поля, которые не указаны в fillable. Насколько я помню, были ещё траблы с евентами, они отличались с методом save, так что лучше делать $user->fill($role)->save();