Articles

Qu'est-ce que Laravel Eloquent, comment l'utiliser, tutoriel avec des exemples

Le framework PHP Laravel inclut Eloquent Object Relational Mapper (ORM), qui fournit un moyen extrêmement simple de communiquer avec une base de données. 

Laravel et Eloquent aident à accélérer le développement d'applications et de plates-formes, en fournissant une solution adéquate à la plupart des problèmes. Les exigences sont traitées avec un développement plus rapide, ainsi qu'un code bien organisé, réutilisable, maintenable et évolutif. 

Comment fonctionne Eloquent

Les développeurs peuvent travailler dans Eloquent avec plusieurs bases de données efficacement en utilisant une implémentation ActiveMethod. Il s'agit d'un modèle architectural où le modèle créé dans la structure Model-View-Controller (MVC) correspond à une table de la base de données. L'avantage est que les modèles effectuent des opérations de base de données courantes sans coder de longues requêtes SQL. Les modèles vous permettent d'interroger des données dans des tableaux et d'insérer de nouveaux enregistrements dans des tableaux. Le processus de synchronisation de plusieurs bases de données exécutées sur différents systèmes est simplifié. Vous n'avez pas besoin d'écrire des requêtes SQL. Tout ce que tu dois faire est defiTerminez les tables de la base de données et les relations entre elles, et Eloquent fera le reste du travail.

Préparation Laravel

Apprécier l'utilité d'Eloquent ORM et comprendre l'écosystème est un must. Étapes pour commencer :

  1. Installez Laravel depuis getcomposer.org, pour ce faire suivez les instructions ici
  2. création migration utilisation de la console Artisan
  3. Créer des modèles eloquent
  4. cours je seed de la base de données

Artisan Console est le nom de l'interface de ligne de commande incluse dans Laravel. Fournit un ensemble de commandes utiles à utiliser lors du développement de votre application. Il est piloté par le composant puissant Symfony Console.

Pour voir une liste de toutes les commandes Artisan disponibles, vous pouvez utiliser la commande list :

php artisan list

Toutes les commandes sont accompagnées d'une description concise de ses arguments et options. Ceci est affiché dans un écran "aide". Pour afficher un écran d'aide, faites simplement précéder le nom de la commande par "help" comme indiqué :

php artisan help migrate

Migration

La migration est un processus de gestion de base de données en écrivant PHP à la place SQL. Fournit un moyen d'ajouter un contrôle de version à la base de données. 

Pour créer une migration, exécutez simplement la commande suivante :

php artisan make:migration create_student_records

Cela crée le fichier de migration. Dans votre éditeur de texte, ouvrez le fichier que vous venez de créer dans le dossier database\migrations:

<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateStudentRecordsTable extends Migration
{
    /**
    * Run the migrations.
    *
    * @return void
    */
    public function up()
    {
        Schema::create('student__records', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

    /**
    * Reverse the migrations.
    *
    * @return void
    */
    public function down()
    {
        Schema::dropIfExists('student__records');
    }
}

Le code est une classe avec le même nom 'create student records', et a deux méthodes : haut et bas. La méthode up doit apporter des modifications à la base de données ; Ainsi, chaque fois que vous migrez votre base de données, tout code de la méthode up sera exécuté. D'autre part, la méthode down devrait annuler ces modifications de la base de données ; donc chaque fois que vous exécutez le rollback de migration, la méthode down devrait annuler ce que la méthode up a fait. A l'intérieur de la méthode up il y a le constructeur de schéma utilisé pour créer et manipuler les tables. Que se passe-t-il si vous annulez certaines de vos migrations ? Tout ce que vous avez à faire est d'implémenter la commande suivante :

php artisan migrate:rollback

Et il ramassera le dernier migration qui a été mis en œuvre. De plus, vous pouvez restaurer complètement la base de données en exécutant :

php artisan migrate:reset

Cela annulera toutes vos migrations.

Defition de modèles de Eloquent

Une fois la migration de la base de données terminée, le processus suivant est la seedingEloquent entre en jeu depuis le seeding insère des enregistrements dans notre base de données. Vous devrez donc créer les modèles avant de remplir la base de données. Chaque table de base de données a un modèle correspondant qui est utilisé pour interagir avec cette table. Les modèles vous permettent d'interroger les données de vos tables, ainsi que d'insérer de nouveaux enregistrements dans la table. Le moyen le plus simple d'instancier le modèle consiste à utiliser la commande suivante :

php artisan make:model Student
Un exemple de modèle est présenté ci-dessous Student, qui peut être utilisé pour récupérer et stocker des informations à partir de la table de base de données de nos étudiants :
<?php
namespace App;
use IlluminateDatabaseEloquentModel;

class Student extends Model
{
    //
}

Lorsque vous générez un modèle et que vous souhaitez en même temps générer une migration de base de données, vous pouvez utiliser l'option –migration o -m:

php artisan make:model Student --migration

php artisan make:model Student -m

semoirs

Les semoirs globaux sont un ensemble spécial de classes qui nous permettent de remplir notre base de données encore et encore avec exactement les mêmes données. Nous implémentons la commande suivante :

php artisan make:seeder StudentsRecordSeeder

Dans l'éditeur de texte, sous le dossier seeds, ouvrez le fichier nouvellement créé avec le nom de fichier : StudentsRecordSeeder.php. Comme vous pouvez le voir, il ne s'agit que d'une classe très simple avec une seule méthode appelée run()

<?php
use IlluminateDatabaseSeeder;

class StudentsRecordSeeder extends Seeder
{
    /**
    * Run the database seeds
    * @return void
    */

    public function run()
    {
        //
    }
}

Le code n'est qu'un wrapper autour d'une classe de commande de console, spécialement conçu pour aider à la tâche de seeding. Modifiez le code, puis enregistrez-le.

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.
public function run()
{
    echo 'Seeding!';
}

Et aller au terminal:

php artisan db:seed --class=StudentsRecordSeeder

Vous pouvez maintenant remplir le tableau avec quelques entrées et exécuter :

php artisan db:seed --class=class=StudentsRecordSeeder

Ici, vous pouvez continuer à supprimer, ajouter, modifier des entrées dans la base de données, puis les restaurer avec une simple commande.

CRUD avec Laravel Eloquent

Les opérations CRUD avec le mappeur objet-relationnel (ORM) Laravel Eloquent permettent aux développeurs Laravel de travailler plus facilement avec plusieurs bases de données. Il effectue des opérations de création, de lecture, de mise à jour et de suppression (CRUD) et mappe des modèles d'objets sur des tables de base de données. Gère toutes les interactions de base de données requises pour les opérations CRUD.

Création d'enregistrements

Vous pouvez utiliser la méthode ::create pour insérer un nouvel enregistrement dans la base de données.

student_record::create(array(
    'first_name' => 'John',
    'last_name'  => 'Doe',
    'student_rank' => 1
));

En plus de la méthode de création simple présentée ci-dessus, vous pouvez également créer un nouvel objet et lui attribuer différents attributs. Ensuite, vous pouvez appeler la fonction save() et exécuter le code. Des méthodes comme firstOrCreate() ou firstOrNew() sont d'autres options pour créer des enregistrements. Ceux-ci vous permettront de trouver un étudiant avec certains attributs; si cet étudiant n'est pas trouvé, vous le créerez dans la base de données ou instancierez une nouvelle instance.

Lire des enregistrements

En utilisant Eloquent ORM, vous pouvez trouver des enregistrements dans votre base de données. Les requêtes sont construites simplement et offrent un flux fluide. Pour créer des relevés ::where, vous utiliserez les méthodes get() Et first(). La méthode first() ne renverra qu'un seul enregistrement, tandis que la méthode get() renverra un tableau bouclable d'enregistrements. Aussi, la méthode find() peut être utilisé avec un tableau de clés primaires, qui renverra une collection d'enregistrements correspondants. Voici quelques exemples:

$student = Students::all();

Ce code obtient tous les étudiants. Alors que le code suivant trouve un étudiant spécifique par ID :

$étudiant = Etudiants ::find(1);

De plus, comme indiqué ci-dessous, le code décrit la recherche d'un étudiant en fonction d'un attribut spécifique.

$JohnDoe = Students::where('name', '=', 'John Doe')->first();

Pour la méthode get(), ce code montre comment trouver un étudiant avec un niveau supérieur à 5.

$rankStudents = Student::where('student_rank', '>', 5)->get();
Mise à jour de l'enregistrement

La mise à jour des enregistrements à l'aide d'Eloquent est tout aussi simple. Pour mettre à jour un enregistrement, recherchez simplement l'enregistrement que vous souhaitez mettre à jour, modifiez les attributs et enregistrez. Par exemple, pour changer le niveau scolaire de l'élève de John Doe à 5, recherchez d'abord l'élève, puis exécutez la méthode save.

$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();

La méthode de sauvegarde peut également être utilisée pour mettre à jour des modèles qui existent déjà dans la base de données.

Supprimer des enregistrements

Eloquent se vante de son processus de mise à jour facile des enregistrements, mais il a la même histoire avec la suppression. Il existe deux options : extraire les enregistrements et exécuter la méthode de suppression, ou simplement utiliser la méthode de destruction. Pour rechercher et supprimer un enregistrement, exécutez simplement les commandes suivantes :

$student = Students::find(1);
$student->delete();

Pour supprimer un enregistrement et plusieurs enregistrements, les commandes sont exécutées :

Students::destroy(1);
Students::destroy(1, 2, 3);

Notez que les paramètres de destroy ne sont que des clés primaires contrairement à la méthode delete qui peut accepter n'importe quelle colonne de base de données.

Pour rechercher et supprimer tous les étudiants au-dessus du niveau 10.

Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.

Articles récents

La nouvelle intelligence artificielle de Google peut modéliser l'ADN, l'ARN et « toutes les molécules de la vie »

Google DeepMind présente une version améliorée de son modèle d'intelligence artificielle. Le nouveau modèle amélioré offre non seulement…

9 mai 2024

Explorer l'architecture modulaire de Laravel

Laravel, célèbre pour sa syntaxe élégante et ses fonctionnalités puissantes, constitue également une base solide pour l'architecture modulaire. Là…

9 mai 2024

Cisco Hypershield et acquisition de Splunk La nouvelle ère de la sécurité commence

Cisco et Splunk aident leurs clients à accélérer leur transition vers le centre d'opérations de sécurité (SOC) du futur avec…

8 mai 2024

Au-delà du côté économique : le coût peu évident des ransomwares

Les ransomwares ont dominé l’actualité ces deux dernières années. La plupart des gens savent bien que les attaques…

6 mai 2024

Intervention innovante en réalité augmentée, avec une visionneuse Apple à la polyclinique de Catane

Une opération d'ophtalmoplastie à l'aide de la visionneuse commerciale Apple Vision Pro a été réalisée à la polyclinique de Catane…

3 mai 2024

Les avantages des pages à colorier pour les enfants - un monde de magie pour tous les âges

Développer la motricité fine grâce au coloriage prépare les enfants à des compétences plus complexes comme l’écriture. Colorier…

2 mai 2024

L’avenir est là : comment le secteur du transport maritime révolutionne l’économie mondiale

Le secteur naval est une véritable puissance économique mondiale, qui a navigué vers un marché de 150 milliards...

1 mai 2024

Les éditeurs et OpenAI signent des accords pour réguler les flux d'informations traitées par l'intelligence artificielle

Lundi dernier, le Financial Times a annoncé un accord avec OpenAI. FT autorise son journalisme de classe mondiale…

30 avril 2024