Maison >développement back-end >tutoriel php >Comment utiliser Eloquent ORM pour les opérations de base de données dans le framework Laravel

Comment utiliser Eloquent ORM pour les opérations de base de données dans le framework Laravel

王林
王林original
2023-07-31 16:43:531050parcourir

Comment utiliser Eloquent ORM pour les opérations de base de données dans le framework Laravel

Introduction :
Laravel est un framework PHP populaire qui fournit des fonctionnalités et des outils riches pour simplifier le processus de développement. L'une des fonctionnalités puissantes est Eloquent ORM, qui nous offre une manière élégante et concise d'effectuer des opérations de base de données. Cet article expliquera comment utiliser Eloquent ORM pour effectuer des opérations de base de données dans le framework Laravel et donnera quelques exemples de code pratiques.

  1. Configuration de la connexion à la base de données
    Tout d'abord, avant d'utiliser Eloquent ORM, nous devons configurer la connexion à la base de données dans Laravel. Ouvrez le fichier de configuration config/database.php, recherchez le tableau connections et configurez-le en fonction de votre type de base de données et de vos informations d'identification. Par exemple : config/database.php,找到connections数组,根据自己的数据库类型和凭据进行配置。例如:
'connections' => [
    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'forge'),
        'username'  => env('DB_USERNAME', 'forge'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix'    => '',
        'strict'    => true,
        'engine'    => null,
    ],
    // 其他类型的数据库连接配置
],
  1. 定义模型
    在Eloquent ORM中,模型代表数据库中的一张表。我们可定义一个模型来与每个表进行交互。定义一个模型需要继承自IlluminateDatabaseEloquentModel类,并指定与之关联的表名。例如,我们有一个用户表users,可以创建一个User模型:
namespace AppModels;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $table = 'users';
    // 其他模型的属性和方法
}
  1. 查询数据
    使用Eloquent ORM,我们可以使用各种方法来查询数据。以下是一些常用的方法和示例:
  • 查询所有数据:

    $users = User::all();
    foreach ($users as $user) {
      echo $user->name;
    }
  • 条件查询:

    $user = User::where('id', 1)->first();
    echo $user->name;
  • 排序和限制查询结果:

    $users = User::orderBy('created_at', 'desc')->take(10)->get();
    foreach ($users as $user) {
      echo $user->name;
    }
  • 使用where条件查询:

    $users = User::where('age', '>', 18)->get();
    foreach ($users as $user) {
      echo $user->name;
    }
  • 使用原生SQL查询:

    $users = User::select(DB::raw('count(*) as user_count'))->groupBy('account_id')->get();
    foreach ($users as $user) {
      echo $user->user_count;
    }
  1. 创建和更新数据
    使用Eloquent ORM,我们可以方便地创建和更新数据库中的记录。以下是一些示例:
  • 创建新记录:

    $user = new User;
    $user->name = 'John Doe';
    $user->email = 'johndoe@example.com';
    $user->save();
  • 更新现有记录:

    $user = User::find(1);
    $user->name = 'Jane Doe';
    $user->save();
  • 使用create方法创建记录:

    $user = User::create([
      'name' => 'John Doe',
      'email' => 'johndoe@example.com',
    ]);
  • 使用update方法更新记录:

    User::where('id', 1)->update(['name' => 'Jane Doe']);
  1. 删除数据
    使用Eloquent ORM,我们可以轻松地删除数据库中的记录。以下是一些示例:
  • 删除单个记录:

    $user = User::find(1);
    $user->delete();
  • 使用destroy方法删除多个记录:

    User::destroy([1, 2, 3]);
  • 使用delete

    User::where('age', '<', 18)->delete();

      Définir un modèle
  • Dans Eloquent ORM, un modèle représente une table dans la base de données. Nous pouvons définir un modèle pour interagir avec chaque table. Pour définir un modèle, vous devez hériter de la classe IlluminateDatabaseEloquentModel et spécifier le nom de la table qui lui est associé. Par exemple, nous avons une table utilisateur users et pouvons créer un modèle User :
rrreee

    Requête de données
    Utiliser Eloquent ORM , nous pouvons utiliser diverses méthodes pour interroger les données. Voici quelques méthodes et exemples couramment utilisés :

    Interroger toutes les données :
  • rrreee
🎜Requête conditionnelle : 🎜rrreee🎜🎜🎜Trier et limiter les résultats de la requête : 🎜rrreee🎜🎜🎜Utiliser where Requête conditionnelle : 🎜rrreee🎜🎜🎜Utiliser une requête SQL native : 🎜rrreee🎜🎜
    🎜Créer et mettre à jour des données🎜En utilisant Eloquent ORM, nous pouvons facilement créer et mettre à jour des enregistrements dans la base de données. Voici quelques exemples : 🎜
🎜🎜🎜Créer un nouvel enregistrement : 🎜rrreee🎜🎜🎜Mettre à jour un enregistrement existant : 🎜rrreee🎜🎜🎜Créer un enregistrement en utilisant la méthode create : 🎜rrreee 🎜🎜🎜 Mettre à jour les enregistrements en utilisant la méthode update : 🎜rrreee🎜🎜
    🎜Supprimer les données🎜En utilisant Eloquent ORM, nous pouvons facilement supprimer des enregistrements dans la base de données. Voici quelques exemples : 🎜
🎜🎜🎜Supprimer un seul enregistrement : 🎜rrreee🎜🎜🎜Supprimer plusieurs enregistrements à l'aide de la méthode destroy : 🎜rrreee🎜🎜🎜Utilisez delete code >Méthode pour supprimer des enregistrements en fonction de conditions : 🎜rrreee🎜🎜🎜Conclusion : 🎜En utilisant Eloquent ORM, nous pouvons facilement effectuer des opérations de base de données sans écrire trop d'instructions SQL. Avec quelques lignes de code simples, nous pouvons interroger, créer, mettre à jour et supprimer des enregistrements dans la base de données. J'espère que cet article vous aidera à utiliser Eloquent ORM pour les opérations de base de données dans le framework Laravel ! 🎜🎜Référence : 🎜🎜🎜Documentation officielle de Laravel : https://laravel.com/docs/8.x/eloquent🎜🎜

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