【发布时间】:2018-05-09 18:59:56
【问题描述】:
我已经创建了这个在线购物车,如果买家购买一个结帐商品,效果很好,但是当买家购买多个商品时,就会出现问题,无法正常工作。
我需要帮助,以便将购物车中的商品全部放入数据库。我的问题是将购物车中的多个产品作为单独的行插入数据库。有人可以帮忙吗?
我想要这个,因为购买该商品的买家可以查看已购买的商品。所以我可以得到“product_id”。
表格:订单
列:
id int(10) UN AI PK
user_id int(11)
product_id int(11)
item_name text
payment varchar(255)
courier varchar(255)
note text
quantity int(11)
total int(11)
status int(11)
OrderController.php
public function NewOrder(Request $request)
{
$this->validate($request, [
'payment' => 'required',
'courier' => 'required',
]);
$cart = Session::get('cart');
$total = 0;
foreach ($cart as $data) {
$total_harga = $data['harga'] * $data['qty'];
$qty = $data['qty'];
}
$quantity = $qty + 0;
$new = new Orders();
$new->user_id = Auth::user()->id;
$new->product_id = $data['id'];
$new->item_name = $data['item_name'];
$new->payment = $request['payment'];
$new->courier = $request['courier'];
$new->note = $request['note'];
$new->quantity = $quantity;
$new->total = $total_harga;
$new->status = 1;
$new->save();
$id = $new->id;
Session::forget('cart');
return redirect()->route('order.status', $id);
}
如何将购物车中的多个产品作为单独的行插入数据库?
谢谢你的回答:)
【问题讨论】:
-
在产品和订单之间创建多对多关系。
-
@tofa-maulana-irvan 您需要在 foreach 中添加项目插入
-
需要创建2个表;一种用于订单,一种用于订购产品。 Ordersproducts 表将出现在 foreach 中,其中将包含您的所有项目详细信息
-
主订单表将只包含订单id、总价、用户id
-
@AmitGupta 你能给我一个示例代码吗?
标签: php mysql laravel session laravel-5