laravel - 添加订单 Laravel

标签 laravel

我正在向数据库添加订单。它的工作原理如下:单击“订购”时,会在 Order 表中创建订单,同时产品项目也会通过 order_id 外键添加到 OrderItem 表中。但我不知道如何获取order_id,因为它是同时添加的,并且Order id是递增的。

public function save(array $data, int $id = null){
    $idCurrent = Auth::id(); 
    $orderItems = $data['orderItems'];

    //add to Order
    Order::updateOrCreate(
        [
            'id' => $id
        ],
        [
            'user_id' => $idCurrent,
            'shipping_fee' => $data['shipping_fee'],
            'total' => $data['total'],
            'payment' => $data['payment'],
            'status_id' => 1,
        ]
    );

    //add to OrderItem
    foreach($orderItems as $item){
        OrderItem::Create([
            'order_id' => 222,   //=> ?????????????
            'product_id' => $item -> product_id,
            'quantity' => $item->quantity,
        ]);
    }
    return true;
}

最佳答案

 $order = Order::updateOrCreate(
    [
        'id' => $id
    ],
    [
        'user_id' => $idCurrent,
        'shipping_fee' => $data['shipping_fee'],
        'total' => $data['total'],
        'payment' => $data['payment'],
        'status_id' => 1,
    ]
);

//add to OrderItem
foreach($orderItems as $item){
    OrderItem::Create([
        'order_id' =>$order->id
        'product_id' => $item -> product_id,
        'quantity' => $item->quantity,
    ]);
}
return true;

关于laravel - 添加订单 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68646530/

相关文章:

php - 拉维尔 5.2 : Creating a custom route function - extending route

php - 在 VSCode 上调试 Laravel 应用程序

php - iOS 应用程序与 Laravel webapp 通信

forms - 如何在 Laravel 5 中测试表单请求规则?

php - 这是否被认为是 Laravel 中的自定义外观方法?

php - Laravel 5.1 应用程序和 home.blade.php 丢失

php - Laravel 的两种 404 样式

php - Laravel 5.0::更改密码后无法登录

laravel - 2 个带有数据透视表的模型,多对多关系

php - laravel 5.3 auth 总是重定向到登录页面