sql >> Database >  >> RDS >> Mysql

Laravel - Querymodel als waarden een bepaalde tekenreeks bevatten (overgenomen uit zoekinvoer)

Toevoegen aan Lakhwinder Singh ’s antwoord, is het misschien de moeite waard om het in te pakken in een scope die u op uw model kunt toepassen:

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

U kunt dit bereik dan als volgt gebruiken:

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

Dat betekent dat u niet steeds handmatig "LIKE"-voorwaarden hoeft toe te voegen tijdens uw aanvraag.

Even terzijde, Laravel introduceert Scout, een op drivers gebaseerde full-text zoekextensie voor Eloquent, in versie 5.3.



  1. LazyInitializationException probeert een luie geïnitialiseerde instantie te krijgen

  2. MySQL-schemanaam met streepje staat me niet toe om opdrachtregelquery uit te voeren

  3. Meerdere COUNT() voor meerdere voorwaarden in één query (MySQL)

  4. HTML/PHP-vervolgkeuzelijst invullen op basis van eerste vervolgkeuzelijst