Mass assignment adalah fitur pada Laravel Eloquent ORM yang memungkinkan pengisian/update beberapa kolom sekaligus pada suatu model.
Biasanya, untuk mengisi data ke database, kita perlu mengisi satu per satu kolom pada model, seperti:
$user = new User;
$user->name = "John";
$user->email = "john@email.com";
$user->password = bcrypt("secret");
$user->save();
Dengan mass assignment, kita bisa mengisikan semua data sekaligus dalam bentuk array:
$data = [
'name' => 'John',
'email' => 'john@email.com',
'password' => bcrypt('secret')
];
$user = User::create($data);
Jadi semua data diisi sekaligus dalam bentuk array.
Keuntungan mass assignment:
- Kode lebih singkat dan simple
- Lebih cepat eksekusi karena insert sekaligus
Namun ada risiko keamanan jika kolom yang di-assign sembarangan. Sehingga Eloquent secara default melarang mass assignment. Kita perlu tentukan kolom mana saja yang boleh di-mass assign lewat $fillable.
Jadi secara singkat, mass assignment adalah fitur insert/update beberapa kolom sekaligus pada Eloquent ORM Laravel.
