ハピタス登録で1,000円分になるURL
LaravelでECサイトを作ってみたい。これそのまま試す。
$ php -v
$ php artisan -V
プロジェクト作成
$ cd /media/W*/PT3
$ composer create-project laravel/laravel myLaravelPrj02 --prefer-dist
文房具データベース(bunboug_db)を作成
51-53行目を自分のmysqlのもの(ここではrootとそのパスワード)に書き換え。
mysqlにログインして今の状態を見ておくか。
$ mysql -u root -p
mysql> show databases;
myslq> Ctrl + d
マイグレーションファイル(DBの定義ファイルか?)を作成。
$ php artisan make:migration create_bunbougs_table
$ vim database/migrations/2023_11_25_143005_create_bunbougs_table.php
17-18行目に必要な項目(tableの列名すなわちフィールド名になる項目)を定義していく。
変更後。
18-21行目を追加している。
動画だと7:43のあたりを作業してる。
マイグレートして、定義ファイルどおりのテーブルをbungoubu_db内に作る。
$ php artisan migrate
using password: NO のエラーが出てしまうのは .envファイルを編集していないから。
$ vim .env ←ドットエンヴなので注意。ただのエンヴじゃない。
14-16行目を変更。DB_PASSWORDにはmysqlのrootログインパスを記述する。
$ php artisan migrate
エラー内容が Unknown database 'bunbougs' に変わった。
.envの14-16行目を書き直し。DB_DATABASEを bunboug_db にしてみる。
$ vim database/migrations/一番新しい_create_bunbougs_table2.php
18-21行目を追加。
$ php artisan make:migration create_bunbougs_table2
$ php artisan migrate
まだUnknownエラーが出よる。
しゃーねーmysqlにログインして手動でDBだけ作るわ。
$ mysql -u root -p
$ (パスワードを手入力)
$ create database bunboug_db;
$ php artisan migrate
やっと成功。
いろいろいじって何とかbunboug_db2の中にbunbougテーブルを作れた。
分類テーブル(bunruis_table)作成
分類テーブル(BUnruis)にデータを格納する命令(Seeder)を作成。
$ vim database/seeders/BUnruisSeeder.php
Seederを実行。
$ php artisan db:seed --class=BUnruisSeeder
確認。
Seeder作成
文房具テーブル(bungougs)にデータを入れるためのシーダーを作成。
$ vim database/seeders/BunbougusSeeder.php
文房具modelとfactoryの作成
$ php artisan make:model Bunbougu
$ php artisan make:factory BunbouguFactory
$ vim database/factories/BunbouguFactory.php
config/app.php の編集
83、96、109行目を日本語対応するようjaに変更。
再びSeeder(tableにデータを突っ込む処理)を編集
$ vim database/seeders/BunbougsSeeder.php
7-8行目を追記。
19行目を追記。文房具ファクトリーで10個作ってね、という指示。
Seeder実行
$ php artisan db:seed --class=BunbougusSeeder
何このエラー。
モデルの作成
$ php artisan make:controller BunbougsController --resource --model=Bunbougu
Route
blade
$ vim resources/views/index.blade.php
$ php artisan serve
どっかでタイプミス(タイポ)してる。
誤 Cotroller
正 Controller
Routeが間違っている
20行目を正しくBunbougusControllerに書き換えた(nが抜けてた)。
変数のアタマのドル記号抜けてた。
Run migrationsボタンを押してみる。
なんかやっぱDB周りのエラーらしいぞ。migrationからやり直しか?
migrationファイルを見てみる。
8行目が間違ってる気がする。
誤 App\Models/Bunbougs
正 App\Models/Bunboug
複数形で変数名つけるやつってほんとセンス無いんだよ。こうやってバグ探しが大変になるだろうが。
もっかいシード作成(=DBにデータ自動突っ込み処理)を走らせる。
$ php artisan db:seed --class=BunbougusSeeder
20行目で呼んでいるfactoryに何かありそう。
$ vim database/factories/BunbouguFactory.php
またテーブルつくっちゃえ。
$ mysql -u root -p
$ use bunboug_db2;
$ CREATE TABLE bunbougus LIKE bunbougs;
$ commit;
$ INSERT INTO bunbougus SELECT * FROM bunbougs;
$ commit;
やった!何とかbladeで作った画面が表示されるとこまでは来たぞ!