
目次
前回のまとめ
前回はデータベース接続の確認を行いました。
今回はテーブル作成方法とモデルについて学習しましょう。
今回の作業手順
今回の作業手順を確認しましょう。
1.winusersテーブルを作成するためのwinusersマイグレーションファイルを作成
2.シーディング機能の利用
3.Winuserモデルの作成
4.Winuserモデルからwinusersテーブルのデータを取得する
5.動作確認
今回はシーディング機能とモデルの作成方法についてです。
しっかりと学習しましょう。
1、usersテーブルを作成するための
winusersマイグレーションファイルを作成
今回もマイグレーションファイルを作成するためのコマンドを実行します。
コマンドプロンプトを開いて下記のコマンドを入力しましょう。
php artisan make:migration winusers –create=winusers

今回の注目するべき点ですが、前回とは違いオプションの「–create」が付いています。
これはマイグレーションファイルで作成するテーブル名の指定が可能です。
そのため今回は「winusers」テーブルの作成を行います。ユーザー情報を格納するテーブルです。
マイグレーションファイルを作成後は下記のコマンドを入力しましょう。
php artisan migrate
「winusers」テーブルが作成されます。

ではphpMyAdminでwinusersテーブルの構造を確認しましょう。

winusersテーブルの中には「id」「created_at」「updated_at」のカラムが存在します。
次は実際にテストデータを追加してみましょう。
2、シーディング機能の利用
Laravelにはテストデータをデータベースに格納が行える「シーダー」が存在します。
ではシーダーを作成して実際にテストデータを追加してみましょう。
まずはシーダーの作成のためコマンドプロンプトを開いて\testporjectまで移動し下記コマンドを入力してください。
php artisan make:seeder WinUsersTableSeeder

「Seeder created successfully」の緑色のメッセージが表示されると問題ありません。
「\testproject\database\seeds\WinUsersTableSeeder.php」ファイルが作成されました。
次に「\testproject\database\seeds\WinUsersTableSeeder.php」ファイルを開いてください。
12行目にrunメソッドが記載されています。この部分に先ほど作成したwinusersテーブルにデータ挿入を行います。

runメソッドに下記の処理を記述してください。
public function run()
{
// winusersテーブルにデータを追記
DB::table(‘winusers’)->insert(
[
’id’ => 1,
’created_at’ => now(),
’updated_at’ => now(),
]
);
}

次にコマンドプロンプトで下記のコマンドを実行しましょう。
php artisan db:seed –class=WinUsersTableSeeder
このコマンドはWinUsersTableSeeder.phpを実行させるコマンドです。
正常に実行された場合、緑色の文字で「Database seeding completed successfully.」が表示されます。

winusersテーブルに先ほど実行したデータが挿入されていることが確認できます。

3、Winuserモデルの作成
ではWinuserモデルの作成を行いましょう。
まず「winusers」モデルではないのか?と考え方が鋭いといえます。
Laravelでは「テーブル名は複数形、モデル名は単数形」「モデル名の頭文字は大文字」という名前のルールが存在します。
そのルールに合わせて命名を行う必要があります。
ではコマンドプロンプトを開いて下記のコマンドを入力します。
「php artisan make:model Winusers」
正常に実行された場合、緑色の文字で「Model created successfully.」が表示されます。

ではWinuserモデルのファイルを確認しましょう。
「\testproject\app」フォルダに移動すると「Winuser.php」が確認できます。

4、Winuserモデルから
winusersテーブルのデータを取得する
では実際にデータを取得しましょう。
HelloWorldControllerを用いて取得を行います。
最初にルーティングの設定を行います。
「\testproject\routes」からweb.phpを開いてください。
最終行に下記の処理を追記しましょう。
Route::get(‘/check’, ‘HelloWorldController@check’);

次にコントローラーの記述です。
「\testproject\app\Http\Controllers」からHelloWorldController.phpを開いてください。
「use Illuminate\Http\Request;」の次の行に
// Winuserモデルの読み込み
use App\Winuser;
最終行に下記を記述してください。
// Modelのデータ確認
public function check()
{
echo Winuser::all();
}

5、動作確認
保存後下記のURLにアクセスしWebページを確認しましょう。
http://localhost/testproject/public/check

このようにWinusersテーブルからデータを取得することができました。
まとめ
- シーディング機能
- モデルの作成
- Laravelの命名ルール
次回からLaravelを用いた簡単なプロフィール登録WEBアプリの作成を行っていきましょう。