Не могу понять, почему у меня не получается вот такая фабрика:
factory(Company::class, 10)->create()->each(
function (Company $company) {
$company->chart()->save(factory(Chart::class)->make());
}
);
Company связана с Chart вот так:
public function chart()
{
return $this->hasOne(\App\Models\Chart::class);
}
А Chart с Company связана вот так:
public function company()
{
return $this->belongsTo(\App\Models\Company::class);
}
Я получаю такую ошибку:
Illuminate\Database\QueryException : SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`db`.`companies`, CONSTRAINT `companies_chart_id_foreign` FOREIGN KEY (`chart_id`) REFERENCES `charts` (`id`)) (SQL: insert into `companies` (`name`, `admin_id`, `created_at`, `updated_at`, `chart_id`, `logo`) values (eveniet, 5, 1974-12-23 08:42:11, 1985-12-16 16:29:54, 9, perferendis))
Странно.. я думал, он сначала создаст мне chart, потом передаст айдишник в компанию и потом сохранить компанию... Но так не работает. Как это правильно написать?