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

Laravel - Modelo de consulta se os valores contiverem uma determinada string (retirada da entrada de pesquisa)


Para adicionar a Lakhwinder Singh , pode valer a pena envolvê-lo em um escopo que você possa aplicar ao seu modelo:
class Product extends Model
{
    public function scopeSearch($query, $keywords)
    {
        return $query->where('name_en', 'LIKE', '%'.$keywords.'%');
    }
}

Você pode então usar este escopo assim:
$products = Product::search($keywords)->get();

O que significa que você não precisa continuar adicionando manualmente condições “LIKE” em todo o seu aplicativo.

Como um aparte, o Laravel está apresentando o Scout, uma extensão de busca de texto completo baseada em driver para o Eloquent, na versão 5.3.