Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel - Modèle de requête si les valeurs contiennent une certaine chaîne (extraite de l'entrée de recherche)

Pour ajouter à Lakhwinder Singh Pour la réponse de , cela vaut peut-être la peine de l'envelopper dans une portée que vous pouvez appliquer à votre modèle :

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

Vous pouvez ensuite utiliser cette étendue comme ceci :

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

Cela signifie que vous n'avez pas besoin de continuer à ajouter manuellement des conditions "LIKE" tout au long de votre application.

En aparté, Laravel présente Scout, une extension de recherche en texte intégral basée sur un pilote pour Eloquent, dans la version 5.3.