Maison  >  Article  >  cadre php  >  Connaissez-vous les opérations intéressantes dans Laravel ORM ?

Connaissez-vous les opérations intéressantes dans Laravel ORM ?

藏色散人
藏色散人avant
2020-05-18 16:26:072986parcourir

La colonne tutorielle suivante de Laravel Getting Started vous présentera des opérations intéressantes que vous ne connaissez pas dans Laravel ORM. J'espère qu'elle sera utile aux amis qui en ont besoin. !

Connaissez-vous les opérations intéressantes dans Laravel ORM ?

append

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

Avez-vous déjà utilisé cette opération pour ajouter un champ au modèle qui n'existe pas dans la base de données ? Très pratique. Mais $appends est global et le champ is_adult sera ajouté à toutes les requêtes.

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

Lors d'une requête comme celle-ci, un message d'erreur sera même signalé indiquant que le champ d'âge n'existe pas.

Nous pouvons ajouter is_adult au jeu de résultats de la requête lors d'une requête comme celle-ci.

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

Tu penses que c'est la fin ? Non seulement cela, mais que se passe-t-il si nous interrogeons plusieurs utilisateurs ? Devons-nous faire une boucle et nous ajouter nous-mêmes ? Non, non, notre élégant Laravel y a pensé pour nous.

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

requête

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

Écrivez-vous souvent des requêtes comme celle-ci ? Avez-vous repéré un problème ? Il est assez rare de trouver une lolita riche, donc je n'ai pas encore été invité.

Connaissez-vous les opérations intéressantes dans Laravel ORM ?

Comment puis-je supporter cela ? Il suffit de le réécrire un peu, d'ajouter une requête au début, et vous pourrez facilement épouser une riche lolita et atteindre le sommet de votre vie.

Connaissez-vous les opérations intéressantes dans Laravel ORM ?

Si vous ne trouvez pas de lolita riche, réduisez vos exigences et trouvez une petite amie. C'est un peu difficile, mais si vous connaissez sa pièce d'identité, vous pouvez simplement utiliser

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

pour la retrouver, c'est simple et rapide. Que se passe-t-il si vous ne connaissez pas la pièce d’identité et ne connaissez que le nom ? Écrivez où la condition ? Laissez-moi vous expliquer plus rapidement. Après tout, vous avez hâte de trouver une petite amie.

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

En écrivant tout cela pour l'instant, je mettrai à jour plus tard lorsque je trouverai d'autres pratiques intéressantes.

Pour plus d'articles techniques sur le framework Laravel, veuillez visiter le tutoriel laravel !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer