我有两个表,一个是items
表,其中包含项目描述(类别,名称,价格等等)。
该表与one-to-one
有一个关系,另一个表叫prices
表,它代表每个项目的价格。因此每个item
都有一个价格。
现在我有一个用于添加项目(一行或多行)的表单:
我想使用雄辩的关系工具将这些项目直接插入数据库,这就是我所做的:
foreach ($request as $key => $value) {
$item = [];
$price = [];
$item['item_id'] = $value['item_id'];
$item['name'] = $value['name'][$i];
$price['price'] = $value['price'][$i];
Item::create($item);
Price::create($price);
}
是否有更好的方法可以使用eloquent直接向两个表插入请求,而无需创建数组?
答案 0 :(得分:0)
您可以使用createMany方法。 See Docs
$items = $request->get('items');
Item::createMany($items);
$prices = $request->get('prices');
Price::createMany($prices);