Laravelでモデルを作成する方法【現役エンジニアが解説】

PROGRAM

今回は、Laravelでモデルを作成する方法について、簡単に解説していきます。

①モデルの作成

Laravelのモデルの作成はphp artisanコマンドで可能です。

php artisan make:model Models/Post

上記のコマンドでは、Postというモデルのファイルをapp/modelsディレクトリに作成しています。

php artisan make:model Models/Post -m

上記のコマンドの例のように、-mオプションを付けることでマイグレーションファイルも同時に作成されますので、今回はこちらを実行します。

②マイグレーション

database/migrationsディレクトリの対象のマイグレーションファイルを開きます。

Schema::create('posts', function (Blueprint $table) {
	$table->id();
	$table->string('author');
	$table->string('title');
	$table->string('body');
	$table->timestamps();
});

ひながたがありますが、上記のように、カラムを適宜追加し、テーブルを設計します。

php artisan migrate

マイグレーションファイルの編集の完了後、上記のコマンドでマイグレーションを実行します。

③ファクトリーの作成

マイグレーション後、以下のコマンドでダミーデータを作るためのファクトリーを作成します。

php artisan make:factory PostFactory --model=Post

続いて、database/factoriesディレクトリに作成されたファイルを下記のようにデータの種類を決めて編集します。

public function definition()
{
	return [
		'author' => $this->faker->name(),
		'title' => $this->faker->word(),
		'body' => $this->faker->text(),
	];
}

database/seeders/DatabaseSeeder.phpを編集し、run関数に下記のように追記し、10件のダミーデータを作るように設定します。

use App\Models\Post;

public function run()
{
	$post = Post::factory()->count(10)->create();
}

ファクトリーとSeederの準備が整った後に、以下のコマンドを実行することで、今回のケースでは10件のダミーデータを作成することができます。

php artisan db:seed