3 回答
TA贡献1911条经验 获得超7个赞
要将数据保存在相关表中,请使用此
Parent::create(['name'=>'parent name']); //save in parent table
$lastId = Parent::query()->max('id'); //get last inserted row id
$parent = App\Parent::find($lastId);
$child = $parent->children()->create([
'message' => 'A new comment.',
]);
你也可以使用createMany方法
$parent = App\Parent::find($lastId);
$parent->children()->createMany([
[
'message' => 'A new comment.',
],
[
'message' => 'Another new comment.',
],
]);
TA贡献1828条经验 获得超3个赞
create通过使用和createMany在父模型的关系上尝试使用此代码:
// Create the parent object.
$parent = Parent::create([
'name' => 'Parent 1'
]);
// Insert one.
$child = $parent->children()->create([
'name' => 'Child 1',
]);
// Insert many.
$parent->children()->createMany([
[
'name' => 'Child 2',
],
[
'name' => 'Child 3',
],
]);
TA贡献1829条经验 获得超13个赞
改变外键——在数据库上运行这个 sql
alter table child drop constraint child_parent_id;
alter table child add foreign key (parent_id) references parent(id) deferrable initially deferred;
这将允许您按任一顺序创建子级或父级,并且在提交之前不会验证约束。在这种情况下应该没有必要 - 但是,它确实取决于您的 ID 是如何生成的。
- 3 回答
- 0 关注
- 161 浏览
添加回答
举报