第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Laravel 搜索關(guān)鍵字查詢

Laravel 搜索關(guān)鍵字查詢

PHP
慕尼黑5688855 2023-09-08 16:45:28
因此,目前我已經(jīng)創(chuàng)建了搜索文本字段來(lái)查找數(shù)據(jù)庫(kù)特定列的關(guān)鍵字。用這個(gè)口才$data = 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])        ->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 . '%');        })        ->groupBy('product.id')        ->paginate(10);如果我嘗試搜索234.00Price 的值,與 的列匹配的所有可能值content, title, quantity, price, quantity將自動(dòng)返回?cái)?shù)據(jù)。如果我嘗試搜索這樣的關(guān)鍵字怎么辦234.00 BooksPrice和的值Title。它現(xiàn)在不會(huì)返回任何數(shù)據(jù)。因?yàn)樗粫?huì)匹配特定列上的這句話。我想做的是如果我搜索這樣的東西= 234.00 Books 20*Value of Price, Title and Quantity它應(yīng)該返回每列上匹配的所有數(shù)據(jù)。字母無(wú)論小寫還是大寫只要符合字母的位置即可那可能嗎?** 更新 **目標(biāo):只想匹配234任何列上的值。成為結(jié)果。但我的查詢的問(wèn)題是,如果我添加另一個(gè)類似的關(guān)鍵字,234 Books它不會(huì)返回任何數(shù)據(jù)
查看完整描述

2 回答

?
慕桂英3389331

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ù)量


查看完整回答
反對(duì) 回復(fù) 2023-09-08
?
HUWWW

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ù)。


查看完整回答
反對(duì) 回復(fù) 2023-09-08
  • 2 回答
  • 0 關(guān)注
  • 199 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)