[英]Mysql Search “I” Case Insensitive
我正在为Laravel项目工作,但发现一个问题。 在我的数据库(MySQL)中,字段存储为大写。 当我进行如下搜索时,我遇到了问题。
$query->where(function ($query) use ($q) {
$query->orWhere('product', 'LIKE', '%'.$q.'%');
$query->orWhere('stock_code', 'LIKE', '%'.$q.'%');
$query->orWhere('barcode', 'LIKE', '%'.$q.'%');
$query->orWhere('hs_code', 'LIKE', '%'.$q.'%');
});
例如, FINDIK是土耳其语单词。 当用户搜索为fındık时,找不到结果。
我正在对MySQL表使用unicode_general_ci
。 我的邮政编码如下。
<!doctype html>
<html lang="tr">
<head>
<meta charset="UTF-8">
我该怎么办? 有人提供MySQL LOWER
方法。 但我希望有更好的方法。
$query->where(function ($query) use ($q) {
$query->orWhere('product', 'ilike', '%'.$q.'%');
$query->orWhere('stock_code', 'ilike', '%'.$q.'%');
$query->orWhere('barcode', 'ilike', '%'.$q.'%');
$query->orWhere('hs_code', 'ilike', '%'.$q.'%');
});
请尝试使用ilike
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.