"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como faço para usar o método `orWhereLike` do Laravel 5 efetivamente para correspondências parciais de strings?

Como faço para usar o método `orWhereLike` do Laravel 5 efetivamente para correspondências parciais de strings?

Publicado em 2024-11-08
Navegar:349

How do I use Laravel 5\'s `orWhereLike` method effectively for partial string matches?

Usando o equivalente 'LIKE' do Laravel-5 (Eloquent)

No Laravel 5, você pode usar o operador like para realizar correspondências parciais de strings nas colunas do banco de dados. No entanto, ao usar o método orWhereLike, é importante construir cuidadosamente a consulta para garantir que ela produza os resultados desejados.

Para resolver a situação descrita na pergunta, onde orWhereLike não corresponde a nenhum resultado, você deve:

  • Verifique a entrada: Verifique se a entrada que está sendo usada para a consulta (Input::get('name')) contém os valores esperados.
  • Verifique a consulta do banco de dados: Utilize dd(DB::getQueryLog()) para visualizar as instruções SQL geradas e identificar quaisquer discrepâncias com os resultados pretendidos.
  • Use símbolos de porcentagem (%) : Para realizar uma correspondência parcial de string, você deve colocar o valor de entrada entre símbolos de porcentagem, como visto no código a seguir:
BookingDates::where('email', Input::get('email'))
    ->orWhere('name', 'like', '%' . Input::get('name') . '%')
    ->get();

Essa modificação garante que a consulta procure nomes que contenham o valor de entrada em qualquer lugar da string.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3