Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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.

avatar omysurya
@omysurya

5 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

Searcing..searching dan konsultasi akhirnya dapet solusi via suhu Founder CrudBooster via Where Advance..

<pre> //Pencarian produk $result-&gt;where(function($query){ $produk = explode(";",g('produk')); if($produk) { foreach($produk as $i=&gt;$p) { if($i==0) $query-&gt;where('cs_produk','like','%'.$p.'%'); else $query-&gt;orWhere('cs_produk','like','%'.$p.'%'); } } }); </pre>

avatar omysurya
@omysurya

5 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban