【问题标题】:mysql match against exact phrase doesn't workmysql与确切短语的匹配不起作用
【发布时间】:2017-01-12 02:28:40
【问题描述】:

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

$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 ) '

我输入:“Business Bay”但匹配“53 Business Bay”,我希望它只匹配“Business Bay”,前面或后面没有任何多余的词

【问题讨论】:

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


    【解决方案1】:

    您可以通过以下查询轻松实现:

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

    【讨论】:

      【解决方案2】:

      你为什么不直接使用

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

      【讨论】:

        猜你喜欢
        • 2018-09-08
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多