0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

大学生が0からはじめたlaravel vol2.シーディングについて

Last updated at Posted at 2022-04-08

シーディングについて

マイグレーションでテーブルを用意出来たら実際にダミーのレコードを入れてみましょう。
こうした機能をシーディングという。簡単に手順を説明すると
①シーディング用のスクリプトファイル作成(コマンド):シーダーファイル作成
②シードの追加
③コマンドでシーディング実行

シーダーファイルの作成

シードを作成するためのスクリプトファイルを生成する

php artisan make:seeder {シーダー名}

これでdatabase内のseedsファイル内にシーダー名.phpが生成される。

シーディング処理

シーダーファイル

<?php

use Illuminate\Database\Seeder;

class {シーダー名} extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('テーブル名')->truncate();  //一時的に消すため

    $param =[
        [
            'name' => 'あああ',
            'title_number' => 1,
        ],
        [
            'name' => 'いいい',
            'title_number' => 2,
        ]
    ];
    DB::table('テーブル名')->insert($param);  //レコード作成

    }
}

runメソッド内にテーブルの記述をする。DB::table('テーブル名')->insert($param);でレコードを作成している

シーダーファイルの登録

DatabaseSeederを登録しておく必要がある。(デフォルトで用意されている)

<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        // $this->call(UsersTableSeeder::class);
        $this->call(シーダー名::class);
    }
}

$this->call(シーダー名::class);でSeederクラスのcallメソッドを呼び出し、シーディング処理を行うようになっている

シーダーファイルの実行

php artisan db:seed

上記のコマンドでDatabaseSeederがrunする
シーディングができたら

php aritsan serve

上記のコマンドでサーバー起動できるのでレコードが表示されるか確認するといいです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?