流明:一对多插入数据时违反外键约束

Lumen: Foreign key constraint violation when inserting data one to many

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

我的代码真的很简单:

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

其中请求具有项目 ID 并且该项目存在。

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

有什么解决办法?

您需要指定一个外键。例如,如果您有 User has many Articles 关系,并且您正试图插入一个新的 Article,您需要这样做:

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

或指定外键:

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