Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

ORM

Srs, bom dia.

Eu tenho uma consulta no banco que está da seguinte forma.

$name = $request->input('filtro_nome');            
$u = User::where('name', 'LIKE', '%'.$name[0].'%');    

Simples. A variável name é uma string, eu gostaria de passar um array com vários nomes.

Se alguém puder me ajudar eu agradeço.

1 resposta
solução

Olá, Leandro.

Uma solução possível (não necessariamente a melhor):

$query = User::query();
foreach ($nameList as $name) {
   $query->orWhere('name', 'like', "%$name%");
}

$users = $query->get();

Isso assume que você tem um array chamado $nameList com todos os nomes que você quer filtrar.

Você poderia ainda fazer por REGEXP ou várias outras formas.

Forte abraço e bons estudos.