Fungsi firstOr dan updateOr pada Laravel

Khairu Aqsara Sudirman

Khairu Aqsara Sudirman

Apr 23, 2020 — 2 mins read

Jika teman-teman sudah terbiasa menggunakan Laravel, tentu saja sudah tidak asing dengan fungsi-fungsi Elequent seperti make(), update(), create() dan save(). Tetapi teman-teman sudah tau belum jika selain fungsi itu ada beberapa fungsi tambahan yang berguna untuk menambah maupun merubah data dengan cara yang lebih sederhana yang diawali dengan keyword firstOr dan updateOr ?

firstOrNew

fungsi ini cukup berguna ketika kita harus mencari satu data dan jika tidak ditemukan maka kita membuat data baru.

pengguna = User::firstOrNew(['email'=>$re->email]); 
$pengguna->name = $req->name; 
$pengguna->save();

kita juga bisa membuatnya menjadi lebih simple, dengan menjadikan data yang akan dicari kedalam bentuk array

$pengguna = User::firstOrNew([
	'email'=>$re->email,
	'name'=>$req->name
]); 
$pengguna->save();

firstOrCreate

tidak jauh berbeda dengan fungsi yang sebelumnya, hanya saja fungsi ini terbilang lebih simple dari saudaranya firstOrNew()

$pengguna = User::firstOrCreate([
	'email'=>$re->email,
	'name'=>$req->name
]); 

kedua fungsi diatas bertujuan sama, yaitu cari data user berdasarkan email dan nama, jika tidak ada maka buat satu record baru dengan email dan nama yang menjadi parameter, tetapi bagaimana jika data yang akan disimpan ternyata berbeda ? kita bisa menambahkan parameter baru berbentuk array, misalnya seperti

$pengguna = User::firstOrCreate(
	[
		'email'=>$re->email,
		'name'=>$req->name
	],
	[
		'alamat'=>$req->alamat,
		'nomor_hp'=>$req->nomor_hp
	]
); 

updateOrCreate

secara umum tidak berbeda dengan kedua fungsi sebelumnya, hanya saja fungsi updateOrCreate untuk merubah data, dan jika data yang akan dirubah tidak ditemukan maka secara otomatis akan membuat satu data baru.

$pengguna = User::updateOrCreate(
	[
		'email'=>$re->email,
		'name'=>$req->name
	],
	[
		'alamat'=>$req->alamat,
		'nomor_hp'=>$req->nomor_hp
	]
); 

jika kita terjemahkan, cari user yang punya email dan nama berdasarkan request() jika ditemukan update kolom alamat dan nomor_hp tetapi jika tidak ditemukan buat data baru.

laravel php
Read More

PHPUnit Untuk Pemula Bagian Pertama

ketika kita memperbaiki suatu bug bisa jadi kita membuat bug baru, melakukan testing dan memeriksa setiap input dan output akan meminimalisir terjadinya bug yang tidak diketahui.

Read More

Menggunakan Short Arrow Function pada php 7.4

akhirnya setelah cukup lama membaca dan mantengin Perkembangan PHP, fungsi Short Arrow hadir juga di PHP, mungkin teman-teman sudah pernah mendengan tentang Short Arrow Function pada Flatform javascript seperti ES6 tetapi tidak pada PHP, Short Arrow function terbilang cukup baru, karena hadir belakangan, setelah sebelumnya di ajukan oleh Nikita Popov, Levi Morrison dan Bob Weinand