Pengantar
Laravelmutator adalah fitur yang dapat digunakan untuk mengubah data sebelum disimpan ke dalam database atau sebelum dikembalikan dari database. Fitur ini diimplementasikan dengan menambahkan method khusus pada model Eloquent.
Prereuisites
Jika kita ingin mengubah data nama menjadi huruf besar sebelum disimpan ke dalam database, kita dapat menambahkan method setNamaAttribute() pada model Eloquent kita.
class User extends Eloquent {
public function setNamaAttribute($value) {
$this->attributes['nama'] = strtoupper($value);
}
}
Ketika kita menyimpan data baru ke dalam tabel user, nama yang diberikan akan dikonversi menjadi huruf besar sebelum disimpan ke dalam database.
$user = new User; $user->nama = 'john doe'; $user->save();
dalam contoh diatas akan menyimpan 'JOHN DOE' di kolom nama di dalam tabel user.