Dynamic Query in Eloquent
Di Laravel kita dapat membuat query dinamis berdasarkan input dari user dengan menggunkan eloquent. contoh kasus dibawah ini, kita ingin membuat query ke table user dimana query akan disesuaikan berbasarkan value dari request dengan batasan nama, alamat dan nomer handphone.
<?php
public function search(string $nama = null, string $alamat = null, string $noHp = null)
{
$query = User::query();
if (!is_null($nama) && !empty($nama)) {
$query = $query->where($nama, 'like', '%' . $nama . '%');
}
if (!is_null($alamat) && !empty($alamat)) {
$query = $query->where($alamat, 'like', '%' . $alamat . '%');
}
if (!is_null($noHp) && !empty($noHp)) {
$query = $query->where($noHp, 'like', '%' . $noHp . '%');
}
return $query->get();
}