在laravel找到一套?例

Rav*_*dia 9 php mysql laravel laravel-5.1

我是laravel的新人.我的查询是我需要从逗号分隔字段中找出值.

这是我的表:

tags_value

?????????????????????
? id ?     tags     ?
?????????????????????
?  1 ? css,html,php ?
?  2 ? php,java,css ?
?  3 ? java,c++,ios ?
?????????????????????
Run Code Online (Sandbox Code Playgroud)

这是我的SQL查询:

$query = DB::table('tags_value')
         ->whereRaw(FIND_IN_SET('css', Tags))
         ->get();
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

请帮我解决这个问题.提前致谢.

Tim*_*sen 17

您需要转义FIND_IN_SET()使用引号的调用:

$query = DB::table('tags_value')
         ->whereRaw('FIND_IN_SET(css,Tags)')
         ->get();
Run Code Online (Sandbox Code Playgroud)

如果要参数化您要搜索的列FIND_IN_SET,则可以尝试以下操作:

$colname = 'css'
$query = DB::table('tags_value')
         ->whereRaw('FIND_IN_SET(?,Tags)', [$colname])
         ->get();
Run Code Online (Sandbox Code Playgroud)


Mr.*_*eer 5

尝试这个 :

->whereRaw("FIND_IN_SET('css',tags)")
Run Code Online (Sandbox Code Playgroud)