我正在使用此查询:
public function autocomplete(Request $request)
{
$company_name = $request->input('query');
$data = BusinessUser::where("company_name","LIKE",'%'. $company_name .'%')->pluck('company_name');
return response()->json($data);
}
在公司名称数据库中,我可以有这样的内容:“测试”、“测试”、“测试”。 那么我怎样才能检查所有这些以便得到结果。有什么建议吗?
我尝试了这个,但后来我收到一个错误,我需要传递数组:
$data = BusinessUser::whereRaw("company_name","LIKE",'%'. $company_name .'%')->orWhereRaw("company_name","LIKE",'%'. $company_name .'%')->pluck('company_name');
编辑:
我不想更改数据库中的任何内容
最佳答案
您可以使用LOWER
:
BusinessUser::whereRaw('LOWER(`company_name`) like ?', ['%'.strtolower($company_name).'%'])->pluck('company_name');
关于laravel - 检查小写和大写搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41891854/