在Laravel 8中存储来自API的多个数据

发布于 2025-02-07 19:24:42 字数 1565 浏览 0 评论 0原文

public function saveOrder(Request $request)
{
    $sid = explode(",", $request->subcat_id);
    $quan = explode(",", $request->quantity);
    $amnt = explode(",", $request->amount);
    $c = count($sid);
    
    for($i=0; $i < $c; $i++) {
        $order = new Order();
        $order->quantity = $quan[$i];
        $order->amount = $amnt[$i];
        $order->subcat_id = $sid[$i];
        $order->address = $request->address;
        $order->payment_mode = $request->payment_mode;
        $order->order_no = $this->generateOrderNR();
        
        if ($request->hasFile('image')) {
            echo "in".$i;
            $file = $request->file('image');
            $file_name = time() . rand(1, 999) . '.' . $file->getClientOriginalExtension();
            $file->move(base_path('images/orders/'), $file_name);
            $order->image = $file_name;

        }
        
        if ($order->save()) {
            echo "Order";
            //return response()->json(['status' => 200, 'msg' => 'Order Placed Successfully']);
        } else
            echo "Error";
            //return response()->json(['status' => 200, 'msg' => 'Error Occured']);
    }
}

in0顺序in1 { “消息”:“文件” 277762619_112136134785398_1736805384468006822_n.jpg“由于未知错误,未上传。”

为什么每次都会出现错误,因为数据库中的此错误仅保存1行,并且当通过API中的Postman发送这样的数据时,没有保存另一行: -

address: Lucknow,
quantity: 1,1,
amount: 150,162,
payment_mode: CASH,
subcat_id: 8,12
public function saveOrder(Request $request)
{
    $sid = explode(",", $request->subcat_id);
    $quan = explode(",", $request->quantity);
    $amnt = explode(",", $request->amount);
    $c = count($sid);
    
    for($i=0; $i < $c; $i++) {
        $order = new Order();
        $order->quantity = $quan[$i];
        $order->amount = $amnt[$i];
        $order->subcat_id = $sid[$i];
        $order->address = $request->address;
        $order->payment_mode = $request->payment_mode;
        $order->order_no = $this->generateOrderNR();
        
        if ($request->hasFile('image')) {
            echo "in".$i;
            $file = $request->file('image');
            $file_name = time() . rand(1, 999) . '.' . $file->getClientOriginalExtension();
            $file->move(base_path('images/orders/'), $file_name);
            $order->image = $file_name;

        }
        
        if ($order->save()) {
            echo "Order";
            //return response()->json(['status' => 200, 'msg' => 'Order Placed Successfully']);
        } else
            echo "Error";
            //return response()->json(['status' => 200, 'msg' => 'Error Occured']);
    }
}

in0 Order in1{
"message": "The file "277762619_112136134785398_1736805384468006822_n.jpg" was not uploaded due to an unknown error."

Why this is error is coming up every time, because of this error in database only 1 row is saved and another row isn't saved when is send data like this in postman through api:-

address: Lucknow,
quantity: 1,1,
amount: 150,162,
payment_mode: CASH,
subcat_id: 8,12

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

德意的啸 2025-02-14 19:24:42

您想上传的第二个文件也许太大了。
请检查php.ini如果文件大小超过upload_max_filesize
然后,增加大小,例如1000m或其他东西。
然后重新启动Apache。

The second file you wanna upload is too big maybe.
Please check php.ini if the file size exceeds the upload_max_filesize.
Then, increase the size like 1000M or something.
Then restart apache.

无所的.畏惧 2025-02-14 19:24:42

您可以在插入或创建方法中传递阵列而不是循环。检查下面的代码示例:

AppSettings::insert([
    [
        'name'=>'mail_host',
        'type'=>$emailsettingstype->id,
        'value'=>'',

    ],
    [
        'name'=>'mail_port',
        'type'=>$emailsettingstype->id,
        'value'=>'',

    ],
    [
        'name'=>'mail_username',
        'type'=>$emailsettingstype->id,
        'value'=>'',
    ],
]);

Instead of loop you can pass an array in the insert or create method. Check below code sample :

AppSettings::insert([
    [
        'name'=>'mail_host',
        'type'=>$emailsettingstype->id,
        'value'=>'',

    ],
    [
        'name'=>'mail_port',
        'type'=>$emailsettingstype->id,
        'value'=>'',

    ],
    [
        'name'=>'mail_username',
        'type'=>$emailsettingstype->id,
        'value'=>'',
    ],
]);
九局 2025-02-14 19:24:42

而是使用此移动()

$file = $request->file('image');
$file_name = time().rand(1, 999).'.'.$file->getClientOriginalExtension();
File::copy($file->getPathname(), base_path('images/orders/'.$file_name));

use this instead move()

$file = $request->file('image');
$file_name = time().rand(1, 999).'.'.$file->getClientOriginalExtension();
File::copy($file->getPathname(), base_path('images/orders/'.$file_name));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文