我想種子與外鍵的表,我堅持我如何告訴模型隨機拉什麼已經存在的值。laravel模型工廠種子從現有的生成
ModelFactory
$factory->define(App\Vendor::class, function(Faker\Generator $faker) {
return [
'name' => $faker->company,
];
});
$factory->define(App\Device::class, function(Faker\Generator $faker) {
return [
'vendor' => ,
'name' => $faker->company,
'mac_address' => $faker->macAddress,
];
});
種子
VendorTableSeeder
public function run()
{
factory(App\Vendor::class, 150)->create();
}
DeviceTableSeeder
public function run()
{
factory(App\Device::class, 50)->create();
}
DataSeeder
$this->call(VendorTableSeeder::class);
$this->call(DeviceTableSeeder::class);
我的設備表之前種子Vendor表,並希望從現有供應商填充隨機商ID。
'vendor' => 'factory::App\Vendor'
但我正在逐漸
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: foreign key constraint fails
它看起來像刀片試圖插入factory::App\Vendor
作爲供應商列中輸入字符串。我正試圖弄清楚如何從現有的供應商那裏得到它。