示例#1
0
$factory->define(Issue::class, function (Generator $faker) use($dates) {
    return array_merge(['issue' => $faker->unique()->numberBetween(1, 30), 'published_at' => $faker->dateTimeThisYear], $dates);
});
// 文章
$factory->define(PublishingArticle::class, function (Generator $faker) use($dates) {
    $issues = Issue::lists('issue')->toArray();
    $categoryIds = Category::lists('id')->toArray();
    return array_merge(['issue' => $faker->randomElement($issues), 'category_id' => $faker->randomElement($categoryIds), 'title' => $faker->sentence(), 'desc' => $faker->paragraph, 'url' => $faker->url, 'presenter' => $faker->name], $dates);
});
// 投稿
$factory->define(ContributeArticle::class, function (Generator $faker) use($dates) {
    return array_merge(['title' => $faker->sentence(), 'desc' => $faker->paragraph, 'url' => $faker->url, 'presenter' => $faker->name], $dates);
});
// 文章标签
$factory->define(Tag::class, function (Generator $faker) use($dates) {
    return array_merge(['name' => $faker->unique()->word], $dates);
});
// 文章和标签之间的关联关系
$factory->define(Taggable::class, function (Generator $faker) use($dates) {
    $taggableIds = PublishingArticle::lists('id')->toArray();
    $tagIds = Tag::lists('id')->toArray();
    return ['tag_id' => $faker->randomElement($tagIds), 'taggable_id' => $faker->randomElement($taggableIds), 'taggable_type' => $faker->randomElement([PublishingArticle::class, ContributeArticle::class])];
});
// 订阅用户
$factory->define(Subscribe::class, function (Generator $faker) use($dates) {
    return array_merge(['name' => $faker->name, 'email' => $faker->unique()->email, 'confirm_code' => getVerifyCode(), 'is_confirmed' => $faker->randomElement([0, 1])], $dates);
});
// 系统配置
$factory->define(SystemSetting::class, function (Generator $faker) {
    return ['website_title' => 'Kratos', 'website_keywords' => 'K', 'website_dsec' => '', 'website_icp' => '', 'page_size' => '10', 'system_version' => 'alpha_1.0', 'system_author' => 'Kratos', 'system_author_website' => 'Kratos'];
});
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $articles = factory(PublishingArticle::class)->times(50)->make();
     PublishingArticle::insert($articles->toArray());
 }