流明:一对一地插入数据时出现外键约束违规

时间:2017-10-19 19:12:59

标签: php mysql laravel lumen

我正在学习如何插入多对多和一对多的关系。目前,当我尝试创建一个新项目时,我陷入了外键约束。

我的代码很简单:

$this->model->create(
    $request->all()
);

请求中包含项目ID且项目存在。

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

对此可以解决什么问题?

1 个答案:

答案 0 :(得分:1)

您需要指定外键。例如,如果您有“用户”有很多文章关系,并且您尝试插入新文章,则需要执行以下操作:

$user->articles()->create($request->all()); // Foreign key will be inserted automatically.

或指定外键:

$this->article->create(array_merge(['user_id' => auth()->id()], $request->all()));