2 votes

Eloquent where lower() LIKE avec PostgrSQL Laravel

Je veux accélérer mes requêtes dans PostgreSQL dans Laravel avec Eloquent.

Maintenant, j'ai ça :

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

Ce qui peut être plus rapide quand je fais un normal like au lieu de ilike .

J'ai donc essayé ce qui suit :

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

Et

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

Et

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

Tout cela échoue avec des erreurs. Qu'est-ce que je fais de mal ?

6voto

Niklesh Points 1386

Vous pouvez utiliser DB::raw()

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X