sql >> Base de Datos >  >> RDS >> Mysql

Laravel:modelo de consulta si los valores contienen una determinada cadena (tomada de la entrada de búsqueda)

Para agregar a Lakhwinder Singh la respuesta de, podría valer la pena envolverlo en un alcance que pueda aplicar a su modelo:

class Product extends Model
{
    public function scopeSearch($query, $keywords)
    {
        return $query->where('name_en', 'LIKE', '%'.$keywords.'%');
    }
}

A continuación, puede utilizar este ámbito de esta manera:

$products = Product::search($keywords)->get();

Lo que significa que no tiene que seguir agregando manualmente condiciones "ME GUSTA" en toda su aplicación.

Además, Laravel presenta Scout, una extensión de búsqueda de texto completo basada en controladores para Eloquent, en la versión 5.3.