laravel 7.3版本工厂模式数据填充

  1. 创建数据库articles和comments,并生成model

  1. 生成seeder

php artisan make:seeder CommentSeeder
php artisan make:seeder ArticleSeeder

CommentSeeder 内容:

    public function run()
    {
        factory(App\Comment::class,5000)->create();//生成5000条
    }

ArticleSeeder内容:

    public function run()
    {
        factory(\App\Article::class,5000)->create();//生成5000条
    }

3.生成factory

php artisan make:factory ArticleFactory
php artisan make:factory CommentFactory

ArticleFactory内容:

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Article;
use Faker\Generator as Faker;

$factory->define(Article::class, function (Faker $faker) {
    return [
        'title'=>$faker->title,
        'content'=>$faker->realText( 200,  2),
        'created_at'=>now(),
        'updated_at'=>now()
    ];
});

CommentFactory内容:

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Comment;
use Faker\Generator as Faker;

$factory->define(Comment::class, function (Faker $faker) {
    return [
        //
        'article_id'=> factory(App\Article::class),//关联article的id
        'comment'=>$faker->text
    ];
});

4.运行seed

php artisan db:seed

最后:运行时出现过一次错误,提示unable to locate factory for [App\Article];

是因为我在ArticleFactory中

1.将命名空间的use Model未改成use App\Article

2.$factory->define(Model::class.... 的model未改成App\Article::class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值