Postingan lainnya
Mohon bantuan pemecahan masalah array WhereOr di Laravel dari Exploding pencarian karakter.
Ceritanya saya punya ide buat pencarian nama produk by input text oleh user dengan memisahkan dengan titik koma (;). Intinya saya ingin membuat query seperti ini:
Nah saya bikin method di laravel seperti ini buat array dari explode string pencariannya. Sudah coba pake whereor() / where(DB::raw()) tapi hasilnya tidak seperti query diatas.
$result = DB::table('otc_consumen AS aa')
->leftjoin('outlet AS bb','bb.id','=','aa.outlet_id')
->join('kota_reguler AS cc','cc.id','=','bb.id_kota_reguler')
->select('aa.*',
'cc.nama AS kota',
'bb.nama AS nama_outlet')
->whereNull('aa.deleted_at');
//Pencarian produk
if(!empty(g('produk'))){
$produk = explode(";",g('produk'));
for($i=0;$i<count($produk);$i++){
$result->where('aa.cs_produk','LIKE',"'%$produk[$i]%'");
}
}
Tolong solusinya para suhu laravel.
1 Jawaban:
Jawaban Terpilih
Searcing..searching dan konsultasi akhirnya dapet solusi via suhu Founder CrudBooster via Where Advance..
<pre> //Pencarian produk $result->where(function($query){ $produk = explode(";",g('produk')); if($produk) { foreach($produk as $i=>$p) { if($i==0) $query->where('cs_produk','like','%'.$p.'%'); else $query->orWhere('cs_produk','like','%'.$p.'%'); } } }); </pre>