从逗号分隔中查找匹配的关键字

时间:2016-02-26 11:33:19

标签: php mysql laravel laravel-5.1

我正在尝试用逗号分隔字符串与FIND_IN_SET来查找关键字,这里是Laravel framwork中的mysql查询。

$Keyword = $_POST['keyword'];
$Result = DB::table('faqtopic')
    ->whereRaw('FIND_IN_SET(?,Keywords)', 'LIKE', ''[$Keyword])
    ->get();

faqtopic table:

╔════╦══════════════╗
║ id ║   keywords   ║
╠════╬══════════════╣
║  1 ║ php, android ║
║  2 ║ microsoft,net║
║  3 ║ android, ios ║
╚════╩══════════════╝

我收到了两个结果,如果我传递了android个关键字但没有得到任何结果,我只会传递andro。我想得到android结果如果用户为搜索查询传递了andro个关键字。

任何想法如何得到这个结果。

感谢。

2 个答案:

答案 0 :(得分:3)

试试这段代码,

$data = modelName::where('filedName', 'like', '%keyword%')->get();

答案 1 :(得分:0)

使用%

$Keyword = $_POST['keyword'];
$Result = DB::table('faqtopic')
    ->whereRaw('FIND_IN_SET(?,Keywords)', 'LIKE', '%'.$Keyword.'%')
    ->get();