Laravel Command はじめました その2

前回に引き続きLaravel Commandをさわっていきます。今回はDB接続回りを見ていきます。

前回のブログ:Laravel Command はじめました

DB接続

XAMPPで環境を構築しましたのでMySQLを使用しようと思います。まずXAMPP Controll PanelでMySQLのStartを押してを起動します。

起動成功すると

A5 SQLで接続します。今回はデータベース「test」を使用します。

CREATE文でテーブルを作成します。usersテーブルを作成します。

Laravel側の設定は、config\database.phpに設定があります。デフォルトの接続先が「mysql」になっています。同じファイルの下のほうに定義してあります。envファイルから読み込んでます。

.envファイルに接続先の設定を入れます。

次にモデルの作成を行います。makeコマンドでusersテーブルに対応したクラスを作成します。

作成されたモデルクラス「Users.php」に$connection、$table、$timestampsの設定を追加します。($connectionはなしでも大丈夫です、$timestampsは今回作成したテーブルにcreate_dt、update_dtがないので無効化します。)

では、前回作成したTestBatch.phpの記述を変更してデータ登録、選択をしてみます。まずモデルクラスのuseを追加します。

あとはこんな感じでデータ登録と選択を書きます。

Commandを実行します。データ取得できています。

A5 SQLで確認します。データが登録できています。

SQLのログ

DB接続は上手くいったのですが、デフォルト設定ではSQLのログが出力されません。これでは後で困るのでSQLのログ出力を行います。

参考サイト:Laravel SQLの実行クエリログを出力する

上のサイトの「3.サービスプロバイダーに登録してログファイルに自動出力」を行います。app\Providers\QueryServiceProvider.phpを作成し、上記サイトのサービスプロバイダーを参考にして記述します。

次にconfig\app.phpにサービスプロバイダクラスを設定します。

SQLのログ出力とは関係ないですが、TestBatchの記述もprint_rからログ出力に変えます。

実行すると、以下のようにSQLがログに出力されました。

おわりに

今回はLavavel CommandでDB接続関係を確認しました。ここまでくればプロジェクトで使用することができそうです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です