July 13, 2024 laravel
Cara Menduplikasi Data di Laravel
Laravel menyediakan method replicate
pada eloquent model untuk menduplikasi data pada database.
Cara menggunakannya cukup mudah, pertama ambil data yang akan diduplikasi, misalnya data User
.
$user = User::firstWhere('email', 'admin@admin.com');
Lalu tinggal panggil method replicate
dari data yang sudah diambil dan panggil method save
untuk menyimpannya ke database.
$newUser = $user->replicate();
$newUser->save();
Jika data yang diduplikasi ingin diubah atributnya, misa langsung diubah atributnya atau menggunakan method fill
.
$newUser = $user->replicate();
$newUser->email = 'new-admin@admin.com';
// atau
$newUser->fill([
'name' => 'New Admin'
]);
$newUser->save();
Jika tidak semua atribut dari data yang lama ingin diduplikasi, masukkan atribut-atribut tersebut ke argumen method replicate
. Contoh disini user yang diduplikasi tidak mengikuti atribut email_verified_at
dan password
dari data yang laman.
$newUser = $user->replicate(['email_verified_at', 'password']);
$newUser->save();
dd($user->verified_at, $newUser->verified_at) // true, false
Sumber : https://laravel.com/docs/11.x/eloquent#replicating-models