LoginSignup
1
1

More than 5 years have passed since last update.

Laravel5.6 サンプルデータを作る seeder

Posted at

seederファイルを作成

php artisan make:seeder ArticleSeeder

php artisan make:seeder UserSeeder

適宜編集

\database\seeds\UserSeeder.php
<?php

use Illuminate\Database\Seeder;

class UserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // テーブル内のデータを一旦全削除
        \Illuminate\Support\Facades\DB::table('users')->truncate();

        // データのインサート
        DB::table('users')->insert([
            [
                'name' => '山田 太郎',
                'email' => 'yamada@mail.jp',
                'password' => '',
                'created_at' => '2018-06-10 21:07:31',
                'updated_at' => '2018-06-10 21:07:31'
            ],
            [
                'name' => '鈴木 一郎',
                'email' => 'suzuki@mail.jp',
                'password' => '',
                'created_at' => '2018-06-10 21:07:31',
                'updated_at' => '2018-06-10 21:07:31'
            ],
        ]);
    }
}
\database\seeds\ArticleSeeder.php
<?php

use Illuminate\Database\Seeder;

class ArticleSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // テーブル内のデータを一旦全削除
        \Illuminate\Support\Facades\DB::table('article')->truncate();

        // データのインサート
        DB::table('article')->insert([
            [
                'user_id' => 1,
                'title' => 'こんちには',
                'body' => '今日はこんなことがありました。',
                'created_at' => '2018-06-10 21:07:31',
                'updated_at' => '2018-06-10 21:07:31'
            ],
            [
                'user_id' => 2,
                'title' => 'こんちには',
                'body' => '昨日はこんなことがありました。',
                'created_at' => '2018-06-10 21:07:31',
                'updated_at' => '2018-06-10 21:07:31'
            ],
            [
                'user_id' => 3,
                'title' => 'こんちには',
                'body' => '一昨日はこんなことがありました。',
                'created_at' => '2018-06-10 21:07:31',
                'updated_at' => '2018-06-10 21:07:31'
            ]
        ]);
    }
}

seederを登録する

\database\seeds\DatabaseSeeder.php
<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        $this->call([
            UserSeeder::class,
            ArticleSeeder::class,
        ]);
    }
}

seederを実行

php artisan db:seed

参考サイト
Laravel 5.6 データベース:シーディング
https://readouble.com/laravel/5.6/ja/seeding.html

Laravelでシーダーを使う
https://qiita.com/shosho/items/b69db263a494edfe3b21

1
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
1
1