我有一个 ParentItem 模型
$parentItem = ParentItem::get()->first();
我有这个数组
$items = array(
array(
'title' => 'test1',
'desc' => 'test1'
),
array(
'title' => 'test2',
'desc' => 'test2'
)
);
我想添加它,因为它有很多关系。 所以我可以这样做:
foreach($items as $item) {
$parentItem->items()->create($item)
}
有没有什么办法可以一次创建所有的..? 像这样的东西:
$parentItem->items()->createMany($items);
最佳答案
您可以尝试两条路径。
使用saveMany
方法:
$parentItem = ParentItem::first();
$items = array(
new Item(['title' => 'test1','desc' => 'test1']),
new Item(['title' => 'test2','desc' => 'test2'])
);
$parentItem->items()->saveMany($items)
有关更多信息,您可以在此处阅读。
https://laravel.com/docs/5.1/eloquent-relationships#inserting-related-models
使用插入
方法:
$parentItem = ParentItem::first();
$items = array(
array('title' => 'test1','desc' => 'test1','parent_item_id' => $parentItem->id),
array('title' => 'test2','desc' => 'test2','parent_item_id' => $parentItem->id)
);
Item::insert($items);
请记住插入 created_at
和 updated_at
不会自动插入,如果你有它们,你必须在 array
中提供它们你的 table 。如需了解更多信息,您可以在此处阅读。
关于php - Laravel: Eloquent 关系创造多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35212000/