accessors and mutators laravel | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: accessors and mutators laravel

Kamis, 28 November 2019

accessors and mutators laravel

Accessor and Mutator Laravel


Berdasarkan doc laravel, accessors dan mutator

Accessors and mutators allow you to format Eloquent attribute values when you retrieve or set them on model instances. For example, you may want to use the Laravel encrypter to encrypt a value while it is stored in the database, and then automatically decrypt the attribute when you access it on an Eloquent model.

accessor dan mutator membolehkan kita untuk melakukan format terhadap atribut dari model ketika mengambil atau melakukan set pada instance model , Sebagai contoh, ketika menggunakan encrypter untuk meng-enkripsi sebuah nilai ketika nilai tersebut disimpan ke dalam database, kemudian secara otomatis akan di-dekripsi ketika mengakses nilai itu.

Contoh ketika data kolom dalam database adalah berupa tipe timestamp, kemudian ketika kita mau menampilkan/ mengambil data tersebut supaya format yang dikembalikan adalah berupa tanggal, caranya adalah dengan membuat accessor,


Accessor


Function ditandai dengan awalan get, contoh :

public function getTanggalAttribute($value)
    {
        return date('Y-m-d', strtotime($value));
    }


tipe data tanggal pada database adalah timestamp, sedangkan jika kita deklarasikan dengan accessor tersebut maka ketika kita mengambil data tanggal maka akan dikembalikan data berupa date.

Mutator


Function ditandai dengan set, contoh

ketika kita mau menyimpan data nama dengan tipe varchar, dan ada keharusan supaya data yang disimpan ke dalam database adalah harus dengan huruf besar (uppercase), maka dapat kita buatkan mutatornya , seperti ini :


public function setNamaAttribute($value) 

 $this->attributes['nama'] = strtoupper($value); 
}
Sedangkan jika ada aturan yang mewajibkan data nama ketika disimpan huruf pertama harus kapital , maka bisa menggunakan function ucfirst dari php, contoh mutatornya adalah sebagai berikut :

public function setNamaAttribute($value) 

 $this->attributes['nama'] = ucfirst($value); 
}
Semisal ada aturan lain harus disimpan dalam huruf kecil semua sebutlah untuk kolom email dan website maka kita gunakan function strtolower dari php, sehingga mutatornya adalah sebagai berikut :
public function setEmailAttribute($value) 

 $this->attributes['email'] = strtolower($value); 
}
untuk website :

public function setWebsiteAttribute($value) 

 $this->attributes['website'] = strtolower($value); 
}
Sekian gan semoga ada manfaatnya buat ana dan kita semue ye, sebagai catatan untuk pengingat sewaktu lupa.

Tidak ada komentar:

Posting Komentar

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux