You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel对接PostgreSQL如何实现不区分大小写的模糊搜索

PostgreSQL大小写不敏感模糊搜索解决方案

你遇到的问题核心原因是PostgreSQL默认的LIKE操作符为大小写敏感模式,当搜索参数和数据库存储内容的大小写不一致时无法命中结果,可选择以下任意方案调整:

  • 方案1:使用PostgreSQL专属的大小写不敏感匹配操作符ILIKE,代码改动量最小:
public function search($name)
{
    return Product::where('name', 'ilike', '%'.$name.'%')->get();
}
  • 方案2:将数据库字段值和搜索参数统一转为小写后再匹配,兼容性更强,后续更换MySQL等其他数据库无需调整业务逻辑:
public function search($name)
{
    return Product::whereRaw('LOWER(name) LIKE ?', ['%' . strtolower($name) . '%'])->get();
}

如果产品表数据量较大,频繁触发模糊搜索会出现性能损耗,可执行以下SQL建立小写表达式索引优化查询效率:

CREATE INDEX product_name_lower_idx ON products (LOWER(name));

内容的提问来源于stack exchange,提问作者Beaumont

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:21:02