Eloquent 其中 lower() LIKE 与 PostgreSQL Laravel

Eloquent where lower() LIKE with PostgrSQL Laravel

我想在 Laravel 中使用 Eloquent.[=18= 在 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]);

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

您可以使用DB::raw()

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