【问题标题】:Eloquent where lower() LIKE with PostgrSQL Laravel雄辩的 where lower() LIKE 与 PostgreSQL Laravel
【发布时间】:2019-01-28 21:01:26
【问题描述】:

我想用 Eloquent 在 Laravel 的 PostgreSQL 中加快查询速度。

现在我有了这个:

$word = 'Bertha'
$cows->where('name', 'ilike', '%' . $word . '%');

当我使用普通的like 而不是ilike 时,这会更快。

所以我尝试了以下方法:

$cows->where('LOWER(name)', 'like', '%' . $word . '%');

$cows->whereRaw('LOWER(name) like %' . $word . '%');

$cows->whereRaw('LOWER(name) like %?%', [$word]);

这一切都因错误而失败。我做错了什么?

【问题讨论】:

  • 以哪种方式失败?错误还是不是您期望的结果?

标签: laravel postgresql laravel-5 eloquent laravel-5.5


【解决方案1】:

您可以使用DB::raw()

$cows->where(\DB::raw('LOWER(name)'), 'like', '%' . $word . '%');

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 2021-02-13
    • 2021-07-03
    • 2018-05-19
    • 1970-01-01
    • 2015-08-26
    • 2017-11-05
    • 2014-11-09
    • 1970-01-01
    相关资源
    最近更新 更多