Masowe przypisanie to proces wysyłania tablicy danych, które zostaną od razu zapisane w określonym modelu. Ogólnie rzecz biorąc, nie musisz zapisywać danych w modelu pojedynczo, ale raczej w ramach jednego procesu.
Przydział masowy jest dobry, ale stoją za nim pewne problemy z bezpieczeństwem. Co jeśli ktoś przekaże wartość do modelu i bez ochrony może zdecydowanie zmodyfikować wszystkie pola łącznie z ID. To nie jest dobrze.
Załóżmy, że masz tabelę „uczniów” z polami „student_type, first_name, last_name” . Możesz chcieć masowo przypisać „first_name, last_name”, ale chcesz zabezpieczyć student_type przed bezpośrednią zmianą. To jest miejsce, w którym można wypełnić i pilnować .
Możliwość wypełnienia pozwala określić, które pola są przypisywane masowo w modelu, możesz to zrobić, dodając specjalną zmienną $fillable
do modelu. A więc w modelu:
class Student extends Model {
protected $fillable = ['first_name', 'last_name']; //only the field names inside the array can be mass-assign
}
„ student_type ” nie są uwzględnione, co oznacza, że są wyłączone.
Chroniony jest odwrotnością wypełnienia. Jeśli wypełnienie określa, które pola mają być przypisane masowo, chronione określa, które pola nie są przypisywane masowo. A więc w modelu:
class Student extends Model {
protected $guarded = ['student_type']; //the field name inside the array is not mass-assignable
}
powinieneś użyć $ fillable lub $ guarded - nie obu.
Aby uzyskać więcej informacji, otwórz link: - Przydział masowy