创建数据库articles和comments,并生成model
生成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