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 . '%');
我想在 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 . '%');