Recipe-box 数据填充

生成填充器(完成之后可在 database/migrations 下看到创建的文档)

>php artisan make:seed UsersTableSeeder
>php artisan make:seed RecipesTableSeeder

修改 DatabaseSeeder.php 的 run方法(路径:database/seeds/DatabaseSeeder.php)

 public function run()
{
    $this->call(UsersTableSeeder::class);
    $this->call(RecipesTableSeeder::class);
}

编写填充器

修改UsersTableSeeder.php

<?php
use Illuminate\Database\Seeder;
use Faker\Factory;
use App\User;
class UsersTableSeeder extends Seeder
{
    public function run()
    {
        $faker = Factory::create();
        User::truncate();
        foreach (range(1,10) as $i){
            User::create([
                'name' => $faker->name,
                'email' => $faker->email,
                'password' => bcrypt('password'),
                'api_token' => str_random(60)
            ]);
        }
    }
}

修改RecipesTableSeeder.php

<?php
use Illuminate\Database\Seeder;
use Faker\Factory;
use App\Recipe;
use App\RecipeIngredient;
use App\RecipeDirection;
class RecipesTableSeeder extends Seeder
{
    public function run()
    {
        $faker = Factory::create();
        RecipeDirection::truncate();
        RecipeIngredient::truncate();
        Recipe::truncate();
        foreach (range(1,10) as $i){
            $recipe = Recipe::create([
                'user_id' => $i,
                'name' => $faker->sentence,
                'description' => $faker->paragraph(mt_rand(5,15)),
                'image' => 'test.png'
            ]);
            foreach (range(1, mt_rand(3,12))as $j){
                RecipeIngredient::create([
                    'recipe_id' => $recipe->id,
                    'name' => $faker->word,
                    'qty' => mt_rand(1,12).' Kg'
                ]);
            }
            foreach (range(1, mt_rand(5,12)) as $k){
                RecipeDirection::create([
                    'recipe_id' => $recipe->id,
                    'description' => $faker->sentence
                ]);
            }
        }
    }
}

运行迁移

>php artisan migrate
>php artisan db:seed
//php artisan migrate:refresh
//php artisan db:seed
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容