在这段代码中我无法运行在laravel中插入数据库的操作,可能有人会问我代码哪里出了问题

问题描述 投票:0回答:1

控制器

public function storeToDatabase(Request $request)
    {
        $params = $request->except('_token');
    
        $user_id = auth()->user()->id;
        $product_id = $params['product_id'];
        $price = $params['price'];
        $quantity = $params['quantity'];
        $name_product = $params['name_product'];
        $total_price = $params['total_price'];
    
        Cart::create([
            'user_id' => $user_id,
            'product_id' => $product_id,
            'price' => $price,
            'quantity' => $quantity,
            'name_product' => $name_product,
            'total_price' => $total_price,
        ]);
    
        \Session::flash('success', 'Product ' . $name_product . ' berhasil dimasukan keranjang.');
    
        return redirect('/carts');
    }

只是错误,没有控制台错误,不在控制台中使用 dd,然后我不知道我的代码出了什么问题

laravel laravel-5 syntax sql-insert
1个回答
0
投票

为了帮助您识别任何潜在问题,我将逐步检查您的代码。

$params = $request-> except('_token');

此行检索请求中除 _token 字段之外的所有数据。确保您的请求包含必要的数据字段。 $user_id = auth()->user()->id;

此行获取当前经过身份验证的用户的 ID。确保运行此代码时有经过身份验证的用户。 $product_id = $params['product_id'];

此行尝试从 $params 数组中检索“product_id”。确保请求数据中存在“product_id”。 $价格 = $params['价格'];

与上一行类似,确保请求数据中存在“price”。 $数量 = $params['数量'];

同上,确保请求数据中存在“数量”。 $name_product = $params['name_product'];

确保请求数据中存在“name_product”。 $total_price = $params['total_price'];

确保请求数据中存在“total_price”。 购物车::创建([...]);

此行尝试在“购物车”模型中创建新记录。确保“购物车”模型定义正确,并且其迁移文件中包含所有必需的字段。 \Session::flash('成功', '产品' . $name_product . ' berhasil dimasukan keranjang.');

此行设置成功的闪现消息。确保您的 Laravel 应用程序中有必要的会话设置,以便 Flash 消息正常工作。 返回重定向('/购物车');

成功将数据存储到数据库并设置闪现消息后,您将重定向到“/carts”路线。确保该路由存在并且在 Laravel 路由文件中正确配置。 要确定具体问题,您应该:

验证请求数据是否包含预期字段(例如“product_id”、“price”、“quantity”、“name_product”、“total_price”)。 确认“购物车”模型已使用其迁移文件中的预期字段正确定义。 确保此代码运行时存在有效的经过身份验证的用户。 仔细检查您的路由以确保“/carts”路由存在并且配置正确。 如果您遇到任何错误或问题,请提供具体的错误消息或描述,我可以进一步帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.