[英]mysql match against exact phrase doesn't work
我試圖找到一個確切的短語但由於某種原因,它找到了與其他單詞的匹配,這里是代碼:
$subLocationId = DB::select(
DB::raw(' SELECT id FROM sub_location WHERE match(sub_location_name) against("' .
$subLocationName . '" IN BOOLEAN MODE ) ' )
);
上面是Laravel ORM查詢,這里是常規的mysql:
' SELECT id FROM sub_location WHERE match(sub_location_name)
against("' .$subLocationName . '" IN BOOLEAN MODE ) '
我輸入:“商業灣”,但它匹配“53商業灣”,我希望它只匹配“商業灣”,而不是前面或后面的任何額外的話
你為什么不用它
$subLocationId = DB::select(
DB::raw("SELECT id FROM sub_location sub_location_name='" . $subLocationName. "'" )
);
您可以使用以下查詢輕松實現它:
\DB::table('sub_location')
->select(['id'])
->where('sub_location_name', $subLocationName);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.