我正在学习如何插入多对多和一对多的关系。目前,当我尝试创建一个新项目时,我陷入了外键约束。
我的代码很简单:
$this->model->create(
$request->all()
);
请求中包含项目ID且项目存在。
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
对此可以解决什么问题?
答案 0 :(得分:1)
您需要指定外键。例如,如果您有“用户”有很多文章关系,并且您尝试插入新文章,则需要执行以下操作:
$user->articles()->create($request->all()); // Foreign key will be inserted automatically.
或指定外键:
$this->article->create(array_merge(['user_id' => auth()->id()], $request->all()));