gpt4 book ai didi

php - 在 laravel 5.8 的 foreach 循环中存储数据

转载 作者:太空宇宙 更新时间:2023-11-03 11:22:18 24 4
gpt4 key购买 nike

我在存储数据方面需要你的帮助。

我有一个包含多个产品的购物车,现在我想通过单击提交按钮将所有这些产品同时存储在 Order 表中

我的观点blade.php

此 View 显示了购物车中的所有产品,我需要将这些信息存储在Order表中

<form action="{{route('order.store')}}" method="post">
@csrf
@foreach ($cart as $ct)

<input type="text" name="product_id" value="{{$ct->id}}" hidden>

<input type="text" value="{{$ct->color}}" name="color" >

<input type="text" value="{{$ct->size}}" name="size" >

<input type="text" value="{{$ct->price}}" name="price" >

@endforeach
<button type="submit">submit</button>
</form>

在我的 Order 表中,我需要填写以下 4 列:product_id、颜色、尺寸和价格。

我的 foreach 循环从 Cart 表中获取数据,并且所有数据都显示无误。

我的问题是,如何通过单击一次提交按钮将这些数据存储到我的 Order 表中?我应该在 OrderControllerstore 函数 中写些什么?

如果我的购物车有 3 个产品,那么我的预期值为 Order 表将如下所示:

id----product_id----size----color---price---+
---------------------------------------------
1 1 abc xyz 123
---------------------------------------------
2 2 abc2 xyz2 456
---------------------------------------------
3 3 aaa bbb 789

感谢您的帮助!

最佳答案

数据库:

Order:
user_id
created_at
...


orderProducts:
price
color
size
order_id (relation)
product_id (relation)
...

查看

<form action="{{route('order.store')}}" method="post">
@csrf
@foreach ($cart as $ct)

<input type="text" name="products[]" value="{{$ct->product_id}}" hidden>

<input type="text" value="{{$ct->color}}" name="color[]" >

<input type="text" value="{{$ct->size}}" name="size[]" >

<input type="text" value="{{$ct->price}}" name="price[]" >

@endforeach
<button type="submit">submit</button>
</form>

Controller 函数库

        $order= new Order;// change the model here
// .. complete your information's like user id or created_at
$order->save();

foreach($request->products as $key=>$product_id)
{
$product = Product::findOrFail($product_id); // validations the product id

// get your information's from db (color,size,price) don't trust get information's from user .
// $product->price , $product->color .... or get from cart
//from cart direct $color[$key] or $price[$key] or $size[$key] "I don't recomend to use this point"


// must be create new table
$orderProducts=new orderProducts; // create new table ordersProducts

$orderProducts->price = $product->price;
// .. complete your information's

$orderProducts->order_id = $order->id; // primary key
$orderProducts->product_id= $product->id;

$orderProducts->save();

}

注意事项:- 如果在“findOrFail”步骤中失败或更改为查找,则需要使用 try-catch 记录信息,然后如果在表中未找到产品,则记录订单未完成并向用户显示错误

关于php - 在 laravel 5.8 的 foreach 循环中存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58613043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com