我想借助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]);
全部失败,并显示错误。我在做什么错了?
答案 0 :(得分:4)
您可以使用DB::raw()
$cows->where(\DB::raw('LOWER(name)'), 'like', '%' . $word . '%');