Maison >cadre php >Laravel >Explication détaillée du principe de mise en œuvre de l'ORM dans Laravel

Explication détaillée du principe de mise en œuvre de l'ORM dans Laravel

PHPz
PHPzoriginal
2023-04-03 18:52:251054parcourir

Laravel est un framework PHP largement utilisé et acclamé. Il fournit de nombreuses fonctionnalités utiles, de l'accès aux bases de données au routage et aux contrôleurs. Parmi eux, ORM (Object-Relational Mapping) est un composant important de Laravel. Il fournit un moyen pratique d'exploiter la base de données et rend votre code plus clair et plus facile à comprendre. Dans cet article, nous examinerons en profondeur les principes de mise en œuvre de Laravel ORM.

Qu'est-ce que ORM ?

Tout d'abord, présentons brièvement ORM. ORM est une technologie qui établit un mappage entre la programmation orientée objet (POO) et les bases de données relationnelles. Dans l'ORM, chaque table correspond à une classe et chaque ligne correspond à un objet. De cette manière, les opérations de la base de données peuvent être simplifiées grâce aux objets, rendant le code plus clair et plus facile à comprendre. L'avantage d'ORM est qu'il vous permet d'accéder à la base de données de manière plus naturelle au lieu d'utiliser des instructions SQL. Par conséquent, ORM est très important dans Laravel, il nous permet de laisser PHP interagir avec la base de données et d'écrire du code plus rapidement et de manière plus fiable.

Principe d'implémentation de Laravel ORM

L'implémentation ORM de Laravel est basée sur le modèle de conception Active Record. Dans Active Record, une classe correspond à une table, et une instance de cette classe correspond à une ligne. Laravel utilise Eloquent ORM comme ORM par défaut, qui est un ORM puissant et facile à utiliser. Eloquent vous permet de simplifier le processus de travail avec des bases de données en manipulant des objets.

Ci-dessous, nous aurons une compréhension approfondie du principe de mise en œuvre de Laravel ORM :

Connectez-vous à la base de données

Avant d'utiliser l'ORM, nous devons d'abord nous connecter à la base de données. Dans Laravel, la bibliothèque d'extensions PDO est utilisée pour se connecter aux bases de données relationnelles. Avant d'utiliser Laravel ORM, nous devons d'abord définir quelle base de données utiliser Laravel se connectera à la base de données en fonction de ce paramètre.

Définir le modèle

Dans Laravel, chaque table de base de données correspond à un modèle Eloquent. Ce modèle est une classe PHP ordinaire qui doit hériter de la classe IlluminateDatabaseEloquentModel. Dans le modèle Eloquent, nous pouvons définir le nom de la table de données, la clé primaire et les champs à remplir correspondant à un modèle. Ces paramètres géreront automatiquement les opérations de la table de données et les enregistrements de données correspondants via Eloquent.

Par exemple, pour définir un modèle User dans Laravel, on peut écrire :

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $table = 'users';

    protected $primaryKey = 'id';

    protected $fillable = ['name', 'email', 'password'];
}

Dans le code ci-dessus, l'attribut $table spécifie le nom de la table de données correspondant "users", et l'attribut $primaryKey spécifie le nom de la table de données correspondant . Le champ de clé primaire est nommé « id » et l'attribut $fillable spécifie les champs qui peuvent être automatiquement mis à jour via Eloquent.

Méthode de requête

La fonction la plus basique d'ORM est d'interroger la base de données. Dans Laravel, Eloquent fournit de nombreuses méthodes de requête, nous permettant d'interroger, filtrer et trier facilement les données.

Par exemple, nous pouvons interroger tous les utilisateurs de la table User de la manière suivante :

$users = App\Models\User::all();

Cette méthode de requête interrogera la table de base de données "users" via la classe modèle User et renverra un objet de collection Eloquent contenant tous les utilisateurs.

Nous pouvons également utiliser le générateur de requêtes pour créer des instructions de requête plus complexes. Par exemple :

$users = App\Models\User::where('name', 'John')->orderBy('id', 'desc')->get();

Cette instruction de requête interrogera tous les utilisateurs nommés "John", les triera par ordre décroissant en fonction du champ ID et renverra un objet de collection Eloquent.

Insérer des données

Dans Laravel, il est très pratique d'utiliser ORM pour insérer des données. Il nous suffit de créer une nouvelle instance de modèle Eloquent, de définir les valeurs des champs correspondants, puis de l'enregistrer dans la base de données via la méthode save().

Par exemple, nous pouvons insérer une nouvelle donnée dans la table User de la manière suivante :

$user = new App\Models\User;

$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->password = bcrypt('secret');

$user->save();

Cette opération d'insertion créera une nouvelle instance User et définira ses attributs "nom", "email" et "mot de passe". . Enregistrez-le ensuite dans la base de données.

Mettre à jour les données

Dans Laravel, nous pouvons également facilement mettre à jour les données via Eloquent. Il suffit de trouver l'enregistrement de données à mettre à jour, puis de définir la valeur du champ correspondant et enfin d'appeler la méthode save() pour le mettre à jour dans la base de données.

Par exemple, nous pouvons rechercher un enregistrement par le champ id, puis mettre à jour son champ "nom" en "Jane":

$user = App\Models\User::find(1);

$user->name = 'Jane';

$user->save();

Cette opération de mise à jour trouvera l'enregistrement utilisateur avec la clé primaire 1, et changera son "nom " champ Mettez à jour vers "Jane", puis mettez à jour vers la base de données.

Supprimer des données

Enfin, nous pouvons également supprimer facilement des enregistrements de données dans Laravel. Il suffit de trouver l'enregistrement de données à supprimer, puis d'appeler la méthode delete().

Par exemple, nous pouvons rechercher un enregistrement via le champ id puis le supprimer :

$user = App\Models\User::find(1);

$user->delete();

Cette opération de suppression trouvera l'enregistrement utilisateur avec la clé primaire 1, puis le supprimera de la base de données.

Résumé

ORM est un composant important de Laravel. Il fournit un moyen pratique d'exploiter la base de données et rend votre code plus clair et plus facile à comprendre. Dans cet article, nous avons une compréhension approfondie des principes de mise en œuvre de Laravel ORM, notamment comment se connecter à la base de données, définir des modèles, interroger des données, insérer des données, mettre à jour des données et supprimer des données. En maîtrisant ces connaissances, nous pouvons mieux utiliser Laravel ORM pour implémenter des opérations de base de données, écrivant ainsi du code plus rapidement et de manière plus fiable.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn