1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ILERPGAdvent Calendar 2024

Day 8

LaravelでIBM iに接続(2)【データ取得】

Last updated at Posted at 2024-12-07

はじめに

Laravelは、データベース処理を自動化する仕組みが含まれているPHPフレームワークのひとつです。

前回は、Laravelの拡張パッケージであるDB2 for IBM iSeries Laravel Driverのインストール方法など、環境構築に関する手順をご紹介しました。

今回は、データを取得する方法について紹介します。

ルートの定義

まず、必要なルートを定義します。

ルートはLaravelアプリケーションで特定のURLリクエストをハンドリングするポイントです。「/routes/web.php」に定義します。

以下の例では、「/db2-page」というURLへのGETリクエストをハンドリングします。

web.php

use App\Http\Controllers\Db2Controller;

Route::get('/db2-page', [Db2Controller::class, 'index']);

コントローラの作成

次に、必要なコントローラを作成します。

コントローラは、特定のリクエストを処理し、対応するビューを生成するためのロジックを含むファイルです。

ここに、IBM i(DB2)に接続してクエリを実行する処理を記述します。

以下のコマンドを使用してコントローラを生成します。

php artisan make:controller Db2Controller

生成された「/app/Http/Controllers/Db2Controller.php」を編集し、先ほど定義したルートのためのメソッドを追加します。

Db2Controller.php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;

class Db2Controller extends Controller
{
    public function index()
    {
        // IBM i(DB2)に接続してクエリを実行する
        $customers = DB::select('select * from QIWS.QCUSTCDT');

        // クエリ結果をビューに渡す
        return view('db2test', ['customers' => $customers]);
    }
}

ビューの作成

次に、ビューを作成します。

ビューは実際にブラウザ上に表示されるHTMLコンテンツです。Bladeテンプレートエンジンを使用します。
デフォルトでは、ビューは「/resources/views」ディレクトリに保存されています。

新しいビューのファイル「/resources/views/db2_page.blade.php」を作成します。

db2_page.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>DB2 Page</title>
</head>
<body>
    <h1>QIWS/QCUSTCDT CITY List</h1>

    @foreach ($customers as $customer)
        <p>{{ $customer->CITY }}</p>
    @endforeach
</body>
</html>

動作確認

ローカル開発サーバを起動して、正しく処理が実行されるかを確認します。

php artisan serve

「http://[IPアドレス]:[ポート]/db2-page」にアクセスし、正しく処理が実行されていれば、以下のようにIBM iからデータを取得できます。
connectIBMiLaravel2_01.png

ご参考になれば幸いです。最後までお読み頂きありがとうございます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?