Site icon arthanugraha.com

Pakai method isClean() Untuk Cek Ada Perubahan Pada Data yang Diupdate

method isClean() ini saya pakai pada saat melakukan pengecekan apakah data yang diparsing melalui request ada perubahan. Jika tidak ada perubahan, berarti gak ada yang perlu diproses, dan selanjutnya tinggal diarahkan atau diberikan pesan untuk memberitahukan bahwa tidak ada data yang berubah, sehingga proses update tidak dilakukan.

Untuk lebih jelasnya saya coba berikan contoh kode pada suatu controller pada bagian proses update

public function update(Request $request, $siswa)
    {
        $rules = [
            'name' => 'max:255',
            'gender' => 'max:255|in:male,female',
            'kelas' => 'in:a,b,c',
        ];

        $this->validate($request, $rules);
        $siswa = Siswa::findOrFail($author);

        $siswa->fill($request->all());
        if($siswa->isClean()){
            return echo('At least one value must change');
        }
        $siswa->save();
        return echo "success";
    }

Di dalam proses ini, saya contohkan untuk melakukan update data siswa. request yang dikirim meliputi nama siswa, gender dan kelas. Kemudian pada data siswa yang dimaksud, kita melakukan proses pengecekan terlebih dahulu dengan menggunakan metode isClean(). Jika ternyata tidak ada perubahan, maka akan dikembalikan dengan pesan bahwa harus paling tidak ada satu nilai inputan yang berubah. Sedangkan jika ada satu saja nilai yang dikirimkan berubah, maka dilakukan proses penyimpanan data yang diupdate tersebut.

Metode isClean(), jika kita mengacu pada dokumentasi berikut ini, digunakan untuk melihat apakah atribut yang diberikan tetap sama atau tidak. Nilai yang dikenakan pada metode ini adalah boolean yang berarti bisa bernilai true atau false.

Nah dengan metode isClean(), maka kita bisa melakukan efisiensi dengan memilah apakah kita harus melakukan save atau tidak.

Oke semoga tulisan ini dapat berguna bagi anda.

Exit mobile version