2017-06-13 50 views
0
["php", "css", "Mysql"] 
["html", "css", "js"] 
["js","css"] 

这是3条JSON搜索使用laravel查询器发出

我需要的搜索结果,这

["php","css"] 

为“关键字”字段的值,即,结果应包含上述3纪录因为在其他2条中第一次记录 'PHP' 和 'CSS'

SELECT * FROM job_posts WHERE JSON_CONTAINS(keywords, '["php","css"]')

只给1号记录

回答

0
array:2 [ 
    0 => "php" 
    1 => "css" 
] 

提出了利用数组,而不是json_encoded格式($请求['关键字]本身)

DB::table('job_posts') 
    ->when($keywords, function ($query) use ($keywords) { 
     foreach ($keywords as $key => $value) { 
      $query->orWhere('keywords', 'LIKE', '%' . $value . '%'); 
     } 
    } 
    ->get();