作者:益清613 | 来源:互联网 | 2022-12-09 18:03
我不会在雄辩的模型中搜索不区分大小写的代码。现在我习惯了
Model::where($column, 'LIKE', '%' . $value . '%' );
但这是区分大小写的。我该如何解决?
我也可以找到此帖子,如何使用LIKE通配符在列中搜索(不区分大小写)?但我不能在雄辩的模型中使用它
1> 小智..:
实际上,您不需要使用UPPER
,仅用ilike
作比较器,它将进行区分大小写的比较。
Model::where('column', 'ilike', '%' . $value . '%')
您确实需要%
标志来表示要搜索的子字符串。
这在MySQL上不起作用,因为它不支持`ILIKE`。
2> 小智..:
我建议在这种情况下上功能
Model::whereRaw("UPPER('.$column.') LIKE '%'". strtoupper($value)."'%'");
像这样
这似乎不安全