LaravelでDBを扱うためにテーブル作成とモデルファイルの作成方法を紹介します。
マイグレーションファイルの作成
下記コマンドでマイグレーションファイルを作成します。
php artisan make:migration create_shops_table --create=shops
__create_shops_table__部分はマイグレーションのファイル名になりますので任意に書き換えてください。
__--create=__の後の__shops__の部分はテーブル名になりますので任意に書き換えてください。
Laravelでは__テーブル名は複数形__で__モデル名称は単数形__というのが標準の命名規則になります。
この記事では
・テーブル名
shops
・モデル名
Shop
という名称で進めます。
すると__プロジェクトルート/database/migrations__にマイグレーションファイルが生成されます。
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateShopsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('shops', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('shops');
}
}
これを下記のように変更します。
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateShopsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('shops', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name')->nullable()->comment('店舗名');
$table->string('sub_name')->nullable()->comment('支店名');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('shops');
}
}
マイグレーションファイルを編集したら下記のコマンドでマイグレーションを実行します。
php artisan migrate
こうするとDBにshopsテーブルが作成されます。
モデルファイルの作成
マイグレーションを実行したら下記コマンドでモデルファイルを作成します。
php artisan make:model Shop
すると__プロジェクトルート/app__に下記のような__Shop.php__というファイルが作成されます。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Shop extends Model
{
//
}