Laravelでモデルを作成する方法【現役エンジニアが解説】
今回は、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