mysql匹配完全短语不起作用

时间:2016-09-04 15:11:39

标签: php mysql laravel laravel-4 laravel-5

我正在尝试找到一个确切的短语但由于某种原因,它找到了与其他单词的匹配,这里是代码:

$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商业湾”相匹配,我希望它只与“商业湾”相匹配,而不会在前面或后面添加任何额外的词语

2 个答案:

答案 0 :(得分:0)

为什么不使用

$subLocationId = DB::select( 
  DB::raw("SELECT id  FROM sub_location sub_location_name='" . $subLocationName. "'" )

);

答案 1 :(得分:0)

您可以使用以下查询轻松实现它:

\DB::table('sub_location')
  ->select(['id'])
  ->where('sub_location_name', $subLocationName);