Laravel,不区分大小写

时间:2019-04-11 06:05:06

标签: php laravel

我正在尝试进行搜索,但是我区分大小写有问题, 如何使它不区分大小写。

$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) . '%');
});

2 个答案:

答案 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'