【发布时间】:2018-08-28 20:59:03
【问题描述】:
我想为插入到我的users 表中的每个数据将数据添加到administrators 表中。这里是UserFactory.php:
$factory - > define(App\ User::class, function(Faker $faker) {
return [
'id' => $faker - > unique() - > isbn10,
'email' => $faker - > unique() - > safeEmail,
'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
'remember_token' => str_random(10),
];
});
还有我的AdministratorFactory.php:
$factory - > define(App\ Administrator::class, function(Faker $faker) {
return [
'prn' => $faker - > unique() - > isbn10,
'rfid_number' => $faker - > unique() - > isbn10,
'first_name' => $faker - > firstName,
'middle_name' => $faker - > lastName,
'last_name' => $faker - > lastName,
'role_id' => 1
];
});
我有我的UsersTableSeeder.php:
public function run() {
factory(App\ User::class, 50) - > create() - > each(function($user) {
$user - > administrator() - > save(factory(App\ Administrator::class) - > make());
});
}
每当我执行php artisan db:seed --class UsersTableSeeder 时,我的Administrator 表中的user_id 始终是0。我期待user_id 与id 与User 表具有相同的User。它们都是一对一的关系。
【问题讨论】:
-
你不需要把每一段示例代码都变成一个sn-p。如果是sn-p引擎无法运行的php代码,则更有理由。
标签: laravel factory relation laravel-eloquent