我有一个表Events(id)和表EventException(event_id,from_new_date,to_new_date),其中event_id是Events表的外键。
我不知道会发生什么,当我运行时我在=>中遇到了错误。
$events = Events::find($id);
$exception = EventException::create(request()->all(), 'event_id' => $events);
return $exception;
我不知道何时要从表Events中获取ID并在EventException中创建新项目,我是否编写此正确代码。
谢谢。
-更新- 输入原始数据时出现错误
{
"from_new_date" : "2018-10-13 09:00:00",
"to_new_date" : "2018-10-13 16:00:00",
"event_id" : 3
}
我得到了这样的错误:
"SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`capstone_project`.`event_exceptions`, CONSTRAINT `event_exceptions_event_id_foreign` FOREIGN KEY (`event_id`) REFERENCES `events` (`id`)) (SQL: insert into `event_exceptions` (`from_new_date`, `to_new_date`, `event_id`, `updated_at`, `created_at`) values (2018-10-13 09:00:00, 2018-10-13 16:00:00, {\"id\":3,\"event_title\":\"Project HR Calendar\",\"event_type_id\":3,\"from_date\":\"2018-10-10 10:00:00\",\"to_date\":null,\"is_recurring\":0,\"created_by\":\"HR Manager\",\"remarks\":null,\"created_at\":\"2018-10-21 02:35:12\",\"updated_at\":\"2018-10-21 02:35:12\"}, 2018-10-21 13:20:53, 2018-10-21 13:20:53))"
如何仅保存event_id而不创建其他内容。谢谢。
答案 0 :(得分:1)
您肯定有某种命名模型Exception
的非常规方式。哈哈
我认为您的request()->all()
如下:
['event_id' => ...,
'from_new_date' => ...,
'to_new_date' => ...]
尝试一下:
$event = Event::find(request()->input('event_id'));
$eventException = EventException::make(request()->all());
$eventException->event()->associate($event);
$eventException->save();
return $eventException;