Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel - Modello di query se i valori contengono una determinata stringa (presa dall'input di ricerca)

Per aggiungere a Lakhwinder Singh 's risposta, potrebbe valere la pena racchiuderlo in un ambito che puoi applicare al tuo modello:

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

È quindi possibile utilizzare questo ambito in questo modo:

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

Ciò significa che non devi continuare ad aggiungere manualmente condizioni "MI PIACE" in tutta la tua applicazione.

Per inciso, Laravel sta introducendo Scout, un'estensione di ricerca full-text basata su driver per Eloquent, nella versione 5.3.