Update Or Create atau Upserts merupakan salah satu function pada model di Laravel. Hal ini dapat mencegah duplikasi data ketika anda akan menginsert ke database. Function
ini menggunakan 2 parameter array. Array pertama adalah kondisi yang akan dicari, kemudian parameter array kedua adalah data yang akan diinsert atau diupdate.
Contoh:
User::updateOrCreate(
[
'email' => 'adi@example.com'
],
[
'name' => 'I Wayan Adi Sparta'
]
);
Dari contoh diatas, laravel akan mencarikan data pada tabel users
dengan kondisi email = adi@example.com
. Apabila data user ditemukan, maka data name
dari user akan diupdate menjadi I Wayan Adi Sparta
. Sedangkan apabila tidak ada, maka akan diinsert data baru dengan attribute
[
'email' => 'adi@example.com',
'name' => 'I Wayan Adi Sparta'
]
Array yang menjadi parameter pertama dan kedua dapat lebih dari 1 properti seperti berikut:
User::updateOrCreate(
[
'email' => 'adi@example.com',
'is_active' => 1
],
[
'name' => 'I Wayan Adi Sparta',
'address' => 'Ubud, Gianyar'
]
);
Saya bisa membuatkan anda Aplikasi berkualitas Tertarik mengembangkan aplikasi? Hubungi saya sekarang untuk mendapatkan penawaran terbaik