Laravel 5: исключение MassAssignmentException в Model.php

Я получаю эту ошибку:

Исключение MassAssignmentException в строке модели 448 модели: _token

Когда я использую метод create . Пожалуйста, ознакомьтесь со следующим кодом:

Contacts.php (модель):

 class Contacts extends Model { protected $table = ['name', 'mobile', 'email', 'address', 'created_at', 'updated_at']; } 

ContactsController.php (контроллер):

 public function store(Request $request) { $inputs = $request->all(); $contacts = Contacts::Create($inputs); return redirect()->route('contacts.index'); } 

Для исключения массового присваивания : вы должны указать все поля модели, которые вы хотите назначить массе, посредством операций создания или обновления свойства $fillable :

 protected $fillable = ['name', 'mobile', 'email', 'address', 'created_at', 'updated_at']; 

Кроме того, поле $table должно содержать только имя таблицы модели:

 protected $table = 'your_table_name'; 

Это может произойти в случае, если вы использовали неправильно импортированный класс. если вы используете модель пользователя.

Неправильный импорт

 // mostly IDE suggestion use Illuminate\Foundation\Auth\User; 

Правильный импорт модели

 use App\User; 

Я прошел через это. может помочь кому-то.

Вы можете заполнять все столбцы:

 protected $guarded = array(); 

Добавьте свою модель.

Если все вышеперечисленное не удается, вы можете попробовать следовать.

Поместите следующее после пространства имен.

 use Eloquent; 

Поставьте следующее в начале вашего метода store .

 Eloquent::unguard(); 

как:

 public function store(Request $request) { Eloquent::unguard(); $inputs = $request->all(); $contacts = Contacts::Create($inputs); return redirect()->route('contacts.index'); } 

Это не рекомендуется, так как это делает вещи уязвимыми для атак. Но если вам нужно быстрое исправление, это может помочь.