我正在尝试进行搜索,但是我区分大小写有问题, 如何使它不区分大小写。
$query->where(function($query) use ($service_name) {
$query->where('users.options->company_name', 'LIKE', '%' . $service_name . '%');
});
我尝试使用类似的方法,因为这是向我建议的,但并不能解决我的问题。
$query->where(function($query) use ($service_name) {
$query->where('LOWER(users.options->company_name)', 'LIKE', '%' . strtolower($service_name) . '%');
});
答案 0 :(得分:0)
我看到你有json列
$query->whereRaw("users.options->company_name like '%".$service_name."%'", [$service_name]);
这应该可以解决您的问题
答案 1 :(得分:0)
由于json列
$query->whereRaw("LOWER(users.options->'$.company_name') LIKE LOWER('%$service_name%')");
您可以使用 LOWER / UPPER 来解决区分大小写的问题。
使用json列的键的语法为column->'$.json_key'