2 回答

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
第一: 提取關(guān)鍵詞:
$delimeter = ' '; //or your separator
$keywords = explode($delimeter, $search); // Will return an array containing each keyword
然后:循環(huán)每個(gè)關(guān)鍵字并調(diào)用您的搜索查詢或動(dòng)態(tài)擴(kuò)展您的查詢
示例 像這樣的東西應(yīng)該可以工作......
$base_query = DB::table('product')
->select('product.id','product.title','product.description','product.content','product.photo','product.quantity','product.price')
->join('product_per_category','product_per_category.product_id','=','product.id')
->where(['product.deleted' => 0])
->where(['product_per_category.deleted' => 0])
->where(['product_per_category.productcategory_id' => $id]);
foreach($keywords as $keyword){
$base_query->where(function($query) use ($keyword){
$query->where('product.content', 'like', '%' . $keyword . '%')
->orWhere('product.title', 'like', '%' . $keyword . '%')
->orWhere('product.quantity', 'like', '%' . $keyword . '%')
->orWhere('product.price', 'like', '%' . $keyword . '%');
})
}
$result = $base_query->get();
您將需要執(zhí)行循環(huán),因?yàn)槟恢浪阉鹘Y(jié)果中的關(guān)鍵字?jǐn)?shù)量

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
你可以像這樣使用explode PHP函數(shù):
$keywords = explode(' ', $keyword); // Will return an array containing each keyword
dd($keywords);
如果您的關(guān)鍵字可以包含空格,您可能應(yīng)該考慮使用其他分隔符或拆分查詢參數(shù)。
- 2 回答
- 0 關(guān)注
- 199 瀏覽
添加回答
舉報(bào)