ホームページ  >  記事  >  PHPフレームワーク  >  Laravel の ORM (オブジェクト リレーショナル マッピング): データベースをエレガントに操作する

Laravel の ORM (オブジェクト リレーショナル マッピング): データベースをエレガントに操作する

WBOY
WBOYオリジナル
2023-08-25 10:28:481745ブラウズ

Laravel の ORM (オブジェクト リレーショナル マッピング): データベースをエレガントに操作する

Laravel の ORM (オブジェクト リレーショナル マッピング): データベースをエレガントに操作する

はじめに:
開発プロセス中、データベースとの対話は避けられない部分です。 ORM (オブジェクト リレーショナル マッピング) を使用すると、面倒な SQL ステートメントを作成することなく、オブジェクト指向でデータベースを操作できます。 Laravel フレームワークは、開発者によるデータベース操作の実行を容易にする強力でエレガントな ORM ツールを提供します。この記事では、Laravel での ORM の使用方法をコード例とともに紹介します。

1. Laravel の ORM

ORM は、リレーショナル データベース内のテーブルとテーブル間の関係にオブジェクトをマッピングするテクノロジです。 ORM を使用すると、基礎となる SQL ステートメントを処理することなく、オブジェクトを操作してデータベースを直接追加、削除、変更、クエリできます。 Laravel の ORM は、シンプルでエレガントかつ強力な ORM ツールである Eloquent を使用して実装されています。

利点:

  1. SQL ステートメントの作成負荷が軽減され、開発効率が向上します;
  2. オブジェクト指向の方法でデータベースが操作されるため、コードがより明確になり、読みやすくなります;
  3. データベース操作プロセスを簡素化するためのさまざまな便利な方法を提供します;
  4. コードの移植とメンテナンスを容易にするために、データベースのクロスプラットフォーム移行をサポートします。

2. Eloquent ORM の基本的な使用法

  1. モデルとデータ テーブルのマッピング関係の定義:
    最初に、指定されたデータと通信するためのモデルを定義する必要がありますテーブルマッピング。 Laravel では、モデルは Eloquent から継承するクラスであり、データ テーブルとモデルの間のマッピング関係はモデルの命名規則によって決定されます。

たとえば、ユーザー データ テーブルがある場合、それに対応するユーザー モデルを作成できます:

namespace App;
use IlluminateDatabaseEloquentModel; 
class User extends Model 
{ 
    // 指定数据表名
    protected $table = 'users'; 
}
  1. 基本的なクエリ操作:
    Laravelデータをクエリするための豊富なメソッド セットを提供します。一般的に使用されるいくつかのクエリ メソッドを次に示します。
  2. すべてのレコードを取得する:

    $users = User::all();
  3. #最初のレコードを取得する:

    $user = User::first();

  4. 主キーに基づいてレコードを検索:

    $user = User::find(1);

  5. 条件に基づいてレコードを検索:

    $users = User::where('age', '>', 18)->get();

  6. レコードの追加、更新、削除:
  7. レコードの追加:

    $user = new User;
    $user->name = 'Tom';
    $user->age = 20;
    $user->save();

  8. #レコードの更新:
  9. $user = User::find(1);
    $user->age = 25;
    $user->save();

    #レコードの削除:
  10. $user = User::find(1);
    $user->delete();
  11. Association:
  12. Laravel の ORM は、1 対 1、1 対多、多対多などのデータベーステーブル間の関連付け操作をサポートします。
  13. 1 対多の関連付けを例として、2 つのモデル (User と Post) を定義し、User モデル内の Post モデルとの 1 対多の関係を定義できます。

    namespace App;
    use IlluminateDatabaseEloquentModel;
    class User extends Model 
    {
     // 定义与Post模型的一对多关系
     public function posts()
     {
         return $this->hasMany('AppPost');
     }
    }

    次に、次の方法ですべてのユーザーの記事を取得できます:
    $user = User::find(1);
    $posts = $user->posts;

    概要:
  14. Laravel の ORM (オブジェクト リレーショナル マッピング) は、開発者を容易にするエレガントで強力なツールを提供します。データベース操作を実行します。 ORMを利用することでデータベース操作のプロセスを簡略化し、オブジェクト指向で開発することができます。この記事では、Laravel における ORM の基本的な使い方とコード例を紹介しますので、読者の参考になれば幸いです。 Laravel の ORM をまだ使ったことがない方は、ぜひ一度試してみてはいかがでしょうか?そのシンプルさと優雅さの虜になると思います。

参考:

Laravel ドキュメント、Eloquent ORM、https://laravel.com/docs/8.x/eloquent

    以上がLaravel の ORM (オブジェクト リレーショナル マッピング): データベースをエレガントに操作するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。