Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel Eloquent Ignore Case


Use whereRaw com vinculação de parâmetro para higienizar sua declaração whereRaw:
$term = strtolower($vars['language']);
Item::whereRaw('lower(language) like (?)',["%{$term}%"])->get();

Resposta anterior Em alguns bancos de dados você pode usar o operador ilike no seu onde. Por exemplo
Item::where('language', 'ilike', $vars['language'])->get();

Todos os operadores disponíveis são:
protected $operators = array(
    '=', '<', '>', '<=', '>=', '<>', '!=',
    'like', 'not like', 'between', 'ilike',
    '&', '|', '^', '<<', '>>',
);

Editar:ilike não diferencia maiúsculas de minúsculas like .