Tugas massal adalah ketika Anda mengirim array ke pembuatan model, pada dasarnya pengaturan sekelompok bidang pada model dalam sekali jalan, bukan satu per satu, seperti:
$user = new User(request()->all());
(Ini bukannya secara eksplisit menetapkan setiap nilai pada model secara terpisah.)
Anda dapat menggunakan fillable
untuk melindungi bidang mana yang Anda inginkan ini benar-benar memungkinkan untuk memperbarui.
Anda juga dapat memblokir semua bidang agar tidak dapat ditentukan secara massal dengan melakukan ini:
protected $guarded = ['*'];
Katakanlah dalam tabel pengguna Anda, Anda memiliki bidang yang user_type
dan yang dapat memiliki nilai-nilai pengguna / admin
Jelas, Anda tidak ingin pengguna dapat memperbarui nilai ini. Secara teori, jika Anda menggunakan kode di atas, seseorang dapat menyuntikkan ke formulir bidang baru untuk user_type
dan mengirim 'admin' bersama dengan data formulir lainnya, dan dengan mudah beralih akun mereka ke akun admin ... berita buruk.
Dengan menambahkan:
$fillable = ['name', 'password', 'email'];
Anda memastikan bahwa hanya nilai-nilai itu yang dapat diperbarui menggunakan mass assignment
Agar dapat memperbarui user_type
nilai, Anda perlu menetapkannya secara eksplisit pada model dan menyimpannya, seperti ini:
$user->user_type = 'admin';
$user->save();