Heim  >  Artikel  >  PHP-Framework  >  Kennen Sie die coolen Operationen in Laravel ORM?

Kennen Sie die coolen Operationen in Laravel ORM?

藏色散人
藏色散人nach vorne
2020-05-18 16:26:072986Durchsuche

Die folgende Tutorial-Kolumne von Laravel Getting Started stellt Ihnen coole Vorgänge in Laravel ORM vor, die Sie noch nicht kennen. Ich hoffe, dass sie Freunden, die sie benötigen, hilfreich sein wird !

Kennen Sie die coolen Operationen in Laravel ORM?

anhängen

    class User extends Model
    {
        protected $appends = ['is_adult'];
        public function getIsAdultAttribute()
        {
            return $this->attribute['age'] > 18;
        }
    }

Haben Sie diesen Vorgang jemals verwendet, um dem Modell ein Feld hinzuzufügen, das in der Datenbank nicht vorhanden ist? Sehr praktisch. Aber $appends ist global und das Feld is_adult wird allen Abfragen hinzugefügt.

User::select('id', 'name')->first();

Bei einer solchen Abfrage wird sogar eine Fehlermeldung ausgegeben, die darauf hinweist, dass das Altersfeld nicht vorhanden ist.

Bei einer solchen Abfrage können wir is_adult zum Abfrageergebnissatz hinzufügen.

    $user = User::first();
    $user->append('is_adult');

Glaubst du, das ist das Ende? Und nicht nur das: Was ist, wenn wir mehrere Benutzer abfragen? Müssen wir eine for-Schleife durchführen und uns selbst anhängen? Nein, nein, unser eleganter Laravel hat für uns daran gedacht.

    $user = User::paginate(10);
    $user->each->append('is_adult');

Abfrage

     User::where(&#39;sex&#39;, &#39;girl&#39;)->where(&#39;age&#39;, &#39;<=&#39;, 20)->where(&#39;money&#39;, &#39;>&#39;, 1000000000000)->get();

Schreiben Sie oft solche Anfragen? Haben Sie ein Problem entdeckt? Es ist ziemlich selten, eine reichhaltige Lolita zu finden, deshalb wurde ich noch nicht dazu aufgefordert.

Kennen Sie die coolen Operationen in Laravel ORM?

Wie kann ich das ertragen? Schreiben Sie es einfach ein wenig um, fügen Sie vorne eine Frage hinzu, und Sie können problemlos eine reiche Lolita heiraten und den Höhepunkt Ihres Lebens erreichen.

Kennen Sie die coolen Operationen in Laravel ORM?

wo

Wenn Sie Rich Lolita nicht finden können, senken Sie Ihre Anforderungen und finden Sie eine Freundin. Es ist ein bisschen schwierig, aber wenn Sie ihren Ausweis kennen, können Sie sie einfach mit

User::query()->find(2);

finden, das geht schnell und einfach. Was also, wenn Sie die ID nicht kennen, sondern nur den Namen? Schreiben Sie wo Bedingung? Lassen Sie mich Ihnen einen schnelleren Weg verraten. Schließlich können Sie es kaum erwarten, eine Freundin zu finden.

User::query()->firstWhere([&#39;name&#39; => &#39;乔碧萝&#39;]);

Ich schreibe erst einmal so viel, ich werde es später aktualisieren, wenn ich andere coole Praktiken finde.

Weitere technische Artikel zum Laravel-Framework finden Sie im LaravelTutorial!

Das obige ist der detaillierte Inhalt vonKennen Sie die coolen Operationen in Laravel ORM?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen