我正在尝试用逗号分隔字符串与FIND_IN_SET
来查找关键字,这里是Laravel
framwork中的mysql查询。
$Keyword = $_POST['keyword'];
$Result = DB::table('faqtopic')
->whereRaw('FIND_IN_SET(?,Keywords)', 'LIKE', ''[$Keyword])
->get();
╔════╦══════════════╗
║ id ║ keywords ║
╠════╬══════════════╣
║ 1 ║ php, android ║
║ 2 ║ microsoft,net║
║ 3 ║ android, ios ║
╚════╩══════════════╝
我收到了两个结果,如果我传递了android
个关键字但没有得到任何结果,我只会传递andro
。我想得到android结果如果用户为搜索查询传递了andro
个关键字。
任何想法如何得到这个结果。
感谢。
答案 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();