【发布时间】:2020-02-27 11:38:15
【问题描述】:
我有以下工厂和播种机。
工厂
- UserFactory.php
- ThreadFactory.php
- ReplyFactory.php
播种者
- UsersTableSeeder.php
- ThreadTableSeeder.php
- RepliesTableSeeder.php
UserFactory.php
$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
});
ThreadFactory.php
$factory->define(App\Thread::class, function (Faker $faker) {
return [
'user_id' => function() {
return factory(App\User::class)->create()->id;
},
'title' => $faker->sentence,
'body' => $faker->paragraph
];
});
ReplyFactory.php
$factory->define(App\Reply::class, function (Faker $faker) {
return [
'user_id' => function() {
return factory(App\User::class)->create()->id;
},
'thread_id' => function() {
return factory(App\Thread::class)->create()->id;
},
'body' => $faker->paragraph
];
});
UsersTableSeeder.php
public function run()
{
factory(App\User::class, 50)->create();
}
ThreadTableSeeder.php
public function run()
{
factory(App\Thread::class, 50)->create()->each(function ($thread) {
factory(App\Reply::class, 10)->create(['thread_id' => $thread->id]);
});
}
RepliesTableSeeder.php
public function run()
{
// nothing in here . . .
}
DatabaseSeeder.php
public function run()
{
$this->call(ThreadTableSeeder::class);
}
我的问题是运行以下命令时,我在用户表中有 550 个用户行,但其他两个表是正确的。
php 工匠数据库:种子
那么,这里发生了什么?我正在使用 Laravel 6.4.1。
【问题讨论】:
标签: database laravel factory seed