我有两个数组,我可以在表单提交后得到:
$product_id = $request->get('product_id');
// [1, 3, 4]
$quantity = $request->get('quantity');
// [5, 1, 2]
现在我想将这个数组提交到数据库中,我想从产品数据库中选择purchase_price
。我不确定如何将product_id
分配给product_quantity(索引0到0,1到1,2到2)并存储到数据库中。
存储到购物车中的示例数据:
[1 5 120 ],
[3 1 230 ],
[4 2 340 ],
foreach ($product_id as $product)
{
}
DB::table('carts')->insert(
['product_id' => '',
'quantity' => 0,
'purchase_price' =>
]
);
只是为了澄清:
来自动态输入框的product_id
和quantity
表示product_id
和quantity
的数量相同,但可能是用户需要的n倍。所以我把它存储为数组。
现在从这个数组我希望将它存储在我想用product_id
与quantity
存储的数据库中。
答案 0 :(得分:0)
您可以使用
foreach ($product_id as $key=>$product)
{
//select purchase price from table by using the $product value
$purchase_price = *your select code here*
DB::table('carts')->insert([
'product_id' => $product,
'quantity' => $quantity[$key],
'purchase_price' => $purchase_price
]);
}
如果不行,请告诉我
答案 1 :(得分:0)
让我们给你一些建议:
如果你有下面的数组 - 如果你没有,那么使它像下面这样的数组:
$dataset = [
0 => [
'product_id' => 1,
'quantity' => 5,
'purchase_price' => 120,
],
1 => [
'product_id' => 3,
'quantity' => 1,
'purchase_price' => 230,
],
2 => [
'product_id' => 4,
'quantity' => 2,
'purchase_price' => 340,
]
];
现在你必须为此编写INSERT查询:
$result = Cart::insert($dataSet);
if ($result)
return true;
else
return false;
在看到上面的代码后,你会知道怎么做...祝你好运
答案 2 :(得分:0)
请查看此示例。 你可以解析2d数组并将其转换为json存储在数据库中然后解码回来:
$product_id = [1,2,3];
// [1, 3, 4]
$quantity = [5,1,2];
// [5, 1, 2]
$output=[120,230,340];
$out=[];
for ($i=0; $i < count($product_id); $i++) {
$out[$i]=[$product_id[$i],$quantity[$i],$output[$i]];
}
dd(json_encode($out));
输出:
“[[1,5,120],[2,1,230],[3,2,340]]”