OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBaseデータベース

  • エコシステム統合の概要
  • ORMフレームワーク
    • Java
      • SpringBootサンプルプログラム
      • SpringBatchサンプルプログラム
      • Spring JDBCサンプルプログラム
      • SpringDataJPAサンプルプログラム
      • Hibernateサンプルプログラム
      • MyBatisサンプルプログラム
    • Python
      • SQLAlchemyによるOceanBaseデータベース接続サンプルプログラム
      • peeweeによるOceanBaseデータベース接続サンプルプログラム
      • Tortoise ORM による OceanBase データベース接続サンプルプログラム
    • Go
      • GORMサンプルプログラム
    • Rust
      • SeaORM による OceanBase データベース接続サンプルプログラム
    • Ruby
      • ActiveRecordによるOceanBaseデータベース接続サンプルプログラム
      • Sequel で OceanBase データベースに接続するサンプルプログラム
      • Ruby on RailsによるOceanBaseデータベース接続サンプルプログラム
    • Node.js
      • SequelizeでOceanBaseデータベースに接続する
      • TypeORMを使用してOceanBaseデータベースに接続する
      • Prismaを使用してOceanBaseデータベースに接続する
      • Drizzle ORMを使用してOceanBaseデータベースに接続する
    • C#
      • Dapperを使用してOceanBaseデータベースに接続する
      • SqlSugarを使用してOceanBaseデータベースに接続する
      • FreeSQLを使用してOceanBaseデータベースに接続する
    • PHP
      • Yii 2.0 ORMサンプルプログラム
      • Laravel Eloquent ORMサンプルプログラム
  • データベースのバージョン管理
    • Liquibaseを使用したOceanBaseデータベースのバージョンの管理
    • Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
  • データ統合
    • dbtを使用したOceanBaseデータの分析
    • Flink DirectLoadを使用したOceanBaseのダイレクトインポート
    • SeaTunnelを使用したOceanBaseデータの読み取りと同期
    • Maxwellを使用したOceanBaseデータの読み取り
    • Debeziumを使用してOceanBaseに接続し、データを取得する
    • Spark Catalogを使用してOceanBaseデータベースに接続する
    • Apache NiFiを使用してOceanBaseデータベースと統合する
  • SQL開発
    • WebLogicを使用してOceanBaseデータベースに接続する
    • DBeaverを使用してOceanBaseデータベースに接続する
    • Navicatを使用してOceanBaseデータベースに接続する
    • DataGripでOceanBaseデータベースに接続する
    • TablePlusでOceanBaseデータベースに接続する
    • DMSを使用したOceanBaseデータベースの管理
  • 編成とスケジューリング
    • AirflowとOceanBaseデータベースの連携
    • PowerJobとOceanBaseデータベースの連携
    • DolphinSchedulerにOceanBaseデータソースを設定する
    • LinkisとOceanBaseデータベースの統合
  • 可視化ツール
    • SupersetとOceanBaseを使用したデータ分析
    • Power BIでOceanBaseに接続してデータを取得する
    • Quick BIでOceanBaseに接続してデータを取得する
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • データベース管理
    • NineDataを使用したOceanBaseデータソースの管理
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • AI
    • OpenAI
    • Qwen
    • OceanBaseデータベースとLangChainの統合
    • OceanBaseデータベースのベクトル検索機能とLlamaIndexの連携
    • OceanBaseデータベースのベクトル検索機能とDifyの連携
    • OceanBaseデータベースとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBaseデータベースとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI Toolboxを使用して独自のOceanBase MCP Serverを構築する
    • OceanBaseデータベースとCamelAIの連携
    • OceanBase VectorとFirecrawlの連携
    • OceanBase VectorとHugging Faceの連携
    • OceanBase VectorとOllamaの連携
    • OceanBaseデータベースとGoogle Geminiの連携
    • OceanBase VectorとCloudflare Workers AIの連携
    • OceanBase VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとKiroの連携

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. master

Laravel Eloquent ORMサンプルプログラム

最終更新:2026-10-10 03:12:37

前提条件
操作手順
ステップ1:OceanBaseデータベースの接続文字列を取得する
ステップ2:Laravelと依存関係のインストール
ステップ3:データベース接続を設定する
ステップ4:モデルとテーブル構造を作成する
ステップ5:データベース操作コードを記述する
ステップ6:プログラムを実行し、結果を検証する
関連ドキュメント

Laravelは、洗練されたPHPのWeb開発フレームワークです。組み込みのEloquent ORMは、シンプルなActiveRecordの実装を提供し、データベース操作を簡単かつ直感的にします。

本記事では、Laravel Eloquent ORMを使用してOceanBaseデータベースに接続し、テーブルの作成、データの挿入、データのクエリといった基本的な操作を実装する方法について説明します。

前提条件

  • PHP 8.0以降がインストール済みであること。
  • Composerパッケージ管理ツールがインストール済みであること。
  • OceanBaseデータベースがインストールされ、MySQLモードのテナントが作成済みであること。
  • OceanBaseデータベースの接続文字列を取得済みであること。

操作手順

  1. OceanBaseデータベースの接続文字列を取得します。
  2. Laravelプロジェクトを作成し、依存関係をインストールします。
  3. データベース接続を設定します。
  4. モデルとデータベースマイグレーションを作成します。
  5. データベース操作コードを記述します。
  6. プログラムを実行し、結果を検証します。

ステップ1:OceanBaseデータベースの接続文字列を取得する

OceanBaseデータベースのデプロイ担当者または管理者に連絡して、対応するデータベース接続文字列を取得します。

obclient -h$host -P$port -u$user_name -p$password -D$database_name

パラメータの説明

  • $host:OceanBaseデータベースの接続IPを指定します。OceanBase Database Proxy (ODP)接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。

  • $port:OceanBaseデータベースの接続ポートを指定します。ODP接続方式のデフォルトは2883ですが、ODPのデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトは2881ですが、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。

  • $database_name:アクセスするデータベースの名前です。

    注意

    テナントに接続するユーザーは、そのデータベースに対するCREATE、INSERT、UPDATE、SELECT権限を持っている必要があります。ユーザー権限に関する詳細については、MySQLモードの権限分類をご参照ください。。

  • $user_name:テナントの接続アカウントを指定します。ODP接続の一般的な形式は:ユーザー名@テナント名#クラスタ名またはクラスタ名:テナント名:ユーザー名です。直接接続方式の形式は:ユーザー名@テナント名です。

  • $password:アカウントのパスワードを指定します。

接続文字列に関する詳細については、OBClientによるOceanBaseテナントへの接続をご参照ください。

例:

obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest

ステップ2:Laravelと依存関係のインストール

  1. Composerを使用して新しいLaravelプロジェクトを作成します:

    composer create-project laravel/laravel laravel-oceanbase
    cd laravel-oceanbase
    
  2. インストールを確認します:

    php artisan --version
    

ステップ3:データベース接続を設定する

config/database.phpファイルを編集し、MySQL接続オプションを設定します:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '2881'),
    '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,
],

ステップ4:モデルとテーブル構造を作成する

  1. Userモデルapp/Models/User.phpを作成します:

    <?php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Support\Facades\Schema;
    
    class User extends Model
    {
        protected $table = 'users';
    
        protected $fillable = ['username', 'email', 'age'];
    
        /**
         * ユーザーテーブルを作成します
         */
        public static function createTable()
        {
            if (!Schema::hasTable('users')) {
                Schema::create('users', function ($table) {
                    $table->id();
                    $table->string('username', 100);
                    $table->string('email', 100)->unique();
                    $table->integer('age')->nullable();
                    $table->timestamps();
                });
    
                return true;
            }
            return false;
        }
    }
    

ステップ5:データベース操作コードを記述する

  1. コントローラーapp/Http/Controllers/UserController.phpを作成します:

    <?php
    
    namespace App\Http\Controllers;
    
    use App\Models\User;
    use Illuminate\Http\Request;
    
    class UserController extends Controller
    {
        // ユーザーテーブルを作成
        public function __construct()
        {
            User::createTable();
        }
    
        // ユーザーを作成
        public function create(Request $request)
        {
            $user = User::create([
                'username' => $request->input('username'),
                'email' => $request->input('email'),
                'age' => $request->input('age'),
            ]);
    
            return response()->json($user);
        }
    
        // ユーザーをクエリ
        public function show($id)
        {
            $user = User::findOrFail($id);
            return response()->json($user);
        }
    
        // ユーザーを更新
        public function update(Request $request, $id)
        {
            $user = User::findOrFail($id);
            $user->update([
                'username' => $request->input('username', $user->username),
                'email' => $request->input('email', $user->email),
                'age' => $request->input('age', $user->age),
            ]);
    
            return response()->json($user);
        }
    
        // ユーザーを削除
        public function delete($id)
        {
            $user = User::findOrFail($id);
            $user->delete();
    
            return response()->json(['message' => '用户删除成功']);
        }
    
        // 全てのユーザーをクエリ
        public function index()
        {
            $users = User::all();
            return response()->json($users);
        }
    }
    
  2. ルートroutes/api.phpを追加します:

    <?php
    
    use Illuminate\Support\Facades\Route;
    use App\Http\Controllers\UserController;
    
    // 手動で /apiプレフィックスを追加
    Route::prefix('api')->group(function () {
        Route::get('/users', [UserController::class, 'index']);
        Route::post('/users', [UserController::class, 'create']);
        Route::get('/users/{id}', [UserController::class, 'show']);
        Route::put('/users/{id}', [UserController::class, 'update']);
        Route::delete('/users/{id}', [UserController::class, 'delete']);
    });
    
  3. app/Providers/AppServiceProvider.phpファイルを修正します:

    <?php
    
    namespace App\Providers;
    
    use Illuminate\Support\ServiceProvider;
    
    class AppServiceProvider extends ServiceProvider
    {
        /**
        * Register any application services.
        */
        public function register(): void
        {
            //
        }
    
        /**
        * Bootstrap any application services.
        */
        public function boot(): void
        {
            //$this->loadRoutesFrom(base_path('routes/api.php'));
        }
    }
    

ステップ6:プログラムを実行し、結果を検証する

  1. 開発サーバーを起動します:

    php artisan serve
    
  2. APIツール(Postmanなど)を使用して、以下のインターフェースをテストします:

    • GET http://localhost:8000/api/users - ユーザーリストを取得
    • POST http://localhost:8000/api/users - 新規ユーザーを作成
    • GET http://localhost:8000/api/users/1 - 指定ユーザーを取得
    • PUT http://localhost:8000/api/users/1 - ユーザーを更新
    • DELETE http://localhost:8000/api/users/1 - ユーザーを削除

関連ドキュメント

  • Laravelデータベースドキュメント
  • Laravel Eloquent ORM
  • OceanBaseデータベースドキュメント
  • PHP公式ドキュメント

前のトピック

Yii 2.0 ORMサンプルプログラム
前へ

次のトピック

Liquibaseを使用したOceanBaseデータベースのバージョンの管理
次へ
このページの内容
前提条件
操作手順
ステップ1:OceanBaseデータベースの接続文字列を取得する
ステップ2:Laravelと依存関係のインストール
ステップ3:データベース接続を設定する
ステップ4:モデルとテーブル構造を作成する
ステップ5:データベース操作コードを記述する
ステップ6:プログラムを実行し、結果を検証する
関連ドキュメント