Массовое присвоение - это процесс отправки массива данных, которые будут сразу сохранены в указанной модели. Как правило, вам не нужно сохранять данные в вашей модели по отдельности, а скорее в одном процессе.
Массовое назначение - это хорошо, но за этим стоят определенные проблемы с безопасностью. Что, если кто-то передает значение в модель и без защиты он может определенно изменить все поля, включая идентификатор. Это не хорошо.
Скажем , у вас есть таблица "студенты, с полями «student_type, first_name, last_name» . Вы можете массовый правопреемник„first_name, last_name“ , но вы хотите , чтобы защитить student_type от того , непосредственно изменились. Вот где заливка и охранял место.
Fillable позволяет вам указать, какие поля можно назначить по массе в вашей модели, вы можете сделать это, добавив специальную переменную $fillable
в модель. Итак, в модели:
class Student extends Model {
protected $fillable = ['first_name', 'last_name']; //only the field names inside the array can be mass-assign
}
' student_type ' не включены, что означает, что они освобождены.
Охраняется с обратной стороны. Если в параметре fillable указано, какие поля должны быть назначены по массе, параметр guardiled указывает, какие поля нельзя назначить по массе. Итак, в модели:
class Student extends Model {
protected $guarded = ['student_type']; //the field name inside the array is not mass-assignable
}
Вы должны использовать либо $ fillable, либо $ guarded - но не оба.
Для более подробной информации откройте ссылку: - Массовое назначение