Laravelの基本コマンド一覧メモ(随時更新)

2024.12.23

起動関連コマンド

対象ディレクトリ指定

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

PIC UP