我想知道如何做对。我们假设我们有2个模型:
这两者之间的关系是1-n:
请注意,在数据库中我们遵循了默认属性名称(object1_id,...)
当我想要实例化时:
$object1 = new Object1;
$object2_1 = new Object2;
$object2_2 = new Object2;
如何在将Object1保存到数据库之前将这两个Object2关联到Object1?有没有办法在不将Object1保存到DB之前保存,然后使用Object1的ID来附加这两个Object2?
类似的东西:
$object1->add?($object2_1);
$object1->add?($object2_2);
$object1->save();
知道我们想要在save()上,它会将相应的Object2添加到DB中。
答案 0 :(得分:1)
首先,正确的关系是:
然后,你可以这样做:
$object1 = Object1::create([]);
$object2_1 = new App\Object2([]);
$object2_2 = new App\Object2([]);
然后附加到 $ object1 ,如下所示:
$object1->objects2()->saveMany([$object2_1, $object2_2]);