Attribute Eloquent Concerns Untuk Memanipulasi Dan Memeriksa Perubahan Pada Model

Dengan menggunakan kombinasi dari metode-metode ini, Anda dapat dengan mudah memanipulasi dan memeriksa perubahan pada model Eloquent dalam aplikasi Laravel Anda.

Published on 02 Apr

Selain metode isDirty, ada beberapa metode lain yang sering digunakan dalam model Eloquent di Laravel untuk memanipulasi dan memeriksa perubahan pada model. Berikut adalah beberapa di antaranya:

Penjelasan Method

  1. getOriginal: Metode getOriginal digunakan untuk mendapatkan nilai asli dari suatu atribut sebelum model tersebut disimpan. Ini berguna untuk membandingkan nilai asli dengan nilai yang baru setelah model diperbarui atau diubah.
  2. wasChanged: Metode wasChanged mirip dengan isDirty, tetapi dapat digunakan untuk memeriksa apakah suatu atribut telah diubah sejak model tersebut diambil dari database atau sejak model disimpan terakhir kali. Ini dapat berguna jika Anda ingin mengetahui apakah nilai atribut telah berubah sebelum atau setelah penyimpanan terakhir.
  3. getChanges: Metode getChanges digunakan untuk mendapatkan daftar perubahan yang dibuat pada model sejak model tersebut diambil dari database atau sejak model disimpan terakhir kali. Ini mengembalikan array yang berisi atribut-atribut yang telah diubah bersama dengan nilai baru mereka.
  4. wasRecentlyCreated: Metode wasRecentlyCreated digunakan untuk memeriksa apakah model tersebut baru saja dibuat dan belum disimpan ke dalam database. Ini mengembalikan nilai boolean true jika model tersebut baru saja dibuat, dan false jika tidak.
  5. isClean: Metode isClean digunakan untuk memeriksa apakah model tersebut tidak memiliki perubahan yang belum disimpan. Ini mengembalikan nilai boolean true jika model tersebut tidak memiliki perubahan yang belum disimpan, dan false jika tidak.
  6. getDirty: Metode getDirty digunakan untuk mendapatkan daftar atribut yang telah diubah sejak model tersebut diambil dari database atau sejak model disimpan terakhir kali. Ini mengembalikan array yang berisi atribut-atribut yang telah diubah bersama dengan nilai baru mereka.

Contoh Implementasi

getOriginal()

$originalThumbnail = $sertifikat->getOriginal('thumbnail');

wasChanged()

if ($sertifikat->wasChanged('thumbnail')) {
// Lakukan sesuatu jika atribut 'thumbnail' telah diubah sejak model diambil dari database atau disimpan terakhir kali
}

getChanges()

$changes = $sertifikat->getChanges();
// $changes akan berisi daftar perubahan yang dibuat pada model sejak model diambil dari database atau disimpan terakhir kali

wasRecentlyCreated()

if ($sertifikat->wasRecentlyCreated()) {
// Lakukan sesuatu jika model baru saja dibuat dan belum disimpan ke dalam database
}

isClean()

if ($sertifikat->isClean()) {
// Lakukan sesuatu jika model tidak memiliki perubahan yang belum disimpan
}

getDirty()

$dirtyAttributes = $sertifikat->getDirty();
// $dirtyAttributes akan berisi daftar atribut yang telah diubah sejak model diambil dari database atau disimpan terakhir kali

untuk lebih lengkap kunjungi link dokumentasi API di bawah ini:

referensi: Laravel API Dokumentasi