Table of Contents
起動関連コマンド
対象ディレクトリ指定
cd test-project
Laravel立ち上げ
sail up -d
※立ち上がらない場合はDocerを起動してコマンドを打つ
作業終了したい場合
sail stop
DB基本操作コマンド
database/migrations/ の中に「Test」というマイグレーションファイルを作成
TestやPostというテーブルも一緒に作りたい場合に使用
sail artisan make:model Test -m
※下記のようにモデルとマイグレーションファイル両方が生成される
test-project/app/Models/Test.php
test-project/database/migrations/2024_12_21_213822_add_test_column.php
usersというテーブル情報を含んだファイルを生成(カラム追加時など)
sail artisan make:migration add_test_column --table users
作ったマイグレーションファイルをDBへマイグレート
sail artisan migrate
マイグレートを取り消し
batchと一緒に一個戻れる
sail artisan migrate:rollback
全べてのマイグレーションをロールバックしてテーブルを削除
※基本使わない方がいい!
sail artisan migrate:reset
resetを行った後に再度マイグレートを行う(データベースを初期状態に戻して再構築したいときに使用)
※こちらもテーブル内データは失われるので、開発スタート時以外は基本使わないこと!
sail artisan migrate:refresh
カラムの追加コマンド
基本的な書き方
$table->データ型('カラム名')->カラム修飾子
※「$table->id();」などはショートカットメソッドという
→カラム名と、カラム修飾子(->uniqueなど)がデフォルトで付与されている
上記のような実行したい処理はファイル内の「up」に記載
実行したくない(今後する予定)の処理は「down」に記載
→ロールバック時の処理など
「$table->dropColumn('test');」(testカラム削除)、
「$table->renameColumn('test3', 'test2');」(カラム名変更)など、upと逆になるように書く
「add_test_column」、「delete_test_column」のように処理でファイルを分けておく
→処理順番はファイル名のタイムスタンプ(ファイル名の先頭部分)で決まる
各カラム操作
$table->string('test')->after('email');//emailの後にtestカラム追加
$table->renameColumn('test', 'test2');//カラム名変更
$table->text('test2')->change();//データ型を変更
$table->text('test2')->nullable()->change();//カラム修飾子を変更
POSTデータ作成コマンド
①モデルとマイグレーションファイルを作成+DB登録
→Postというモデルとマイグレーションファイル(テーブルの素材)を作成
sail artisan make:model Post -m
下記のように生成される
test-project/app/Models/Post.php
test-project/database/migrations/2024_12_22_222724_create_posts_table.php
作ったマイグレーションファイルをDBへマイグレート(テーブル作成)
sail artisan migrate
②ビューファイル(HTML)の設定
/postというフォルダを指定したパスに作成
mkdir -p resources/views/post
「create.blade.php」ファイルを作成
→フォームのHTMLを記載
※blade=view(HTML定義)と覚えておく
touch resources/views/post/create.blade.php
③コントローラーの作成
sail artisan make:controller PostController
フォームの内容(create.blade.php)を表示するためのコントローラー「PostController」を作成
ファイル内にcreateメソッド「 public function create() {return view(‘post.create’);} 」を記載(引数はcreate.blade.php を指す)
④ルートに記載
Route::get('post/create', [PostController::class, 'create']);
web.phpにルート、use設定を記載
※ローカルホストで表示確認
http://localhost/post/create