繁体   English   中英

如何防止数据重新输入到Laravel页面刷新的数据库中

[英]how to prevent data re entering on database on page refresh on laravel

我有一个正在开发中的POS,我注意到当我重新加载页面时,它会重新输入数据。 如何防止数据在页面重新加载时重新输入?

我的控制器具有以下代码:

public function DoAddSales(Request $request) 
{      
    $rules = [
        'customer_name'=>'required|alpha',
        'or_number'=>'required',
        'payment'=>'required',
    ];  

    $validator = Validator::make($request->all(),$rules);

    if ($validator->fails()) {
        return back()->withErrors($validator); 
    } else {
        foreach ($request->input('id_item') as $id) {
            $item_id[] = $id; 
        }

        foreach ($request->input('i_name') as $name) {
            $i_name[] = $name; 
        }

        foreach ($request->input('id_categ') as $categ) {
            $categ_id[] = $categ; 
        }

        foreach ($request->input('quan') as $quan) {
            $quantity[] = $quan; 
        }

        foreach ($request->input('tot') as $total) {
            $each_total[] = $total; 
        }

        $last = sizeof($request->input('id_item'));       
        $i = 0;

        while ($i < $last) { 
            $items = Item::find($item_id[$i]);       
            $sales = new sales;    
            $sales->or = $request->input('or_number');
            $sales->customer_name = $request->input('customer_name');
            $sales->item_id = $item_id[$i];
            $sales->item_name = $i_name[$i];
            $sales->category_id = $categ_id[$i];
            $sales->user_id = Auth::user()->id;
            $sales->qty = $quantity[$i];
            $sales->total = $each_total[$i];
            $sales->save();

            DB::table('items')->where('id',$item_id[$i])
                ->update(['qty'=> $items->qty - $quantity[$i]]);

            return view ('show_sales')->with(array(
                'name'=>$request->input('customer_name'),
                'or_no'=>$request->input('or_number'),          
                'total'=>$request->input('getItemPrice'),            
                'change'=>$request->input('change'),
                'orders'=>$i_name[$i], 
            ));
            $i++;
        } 
    }
}

使用重定向 ,如下所示。

假设像\\view\\list这样的重定向路由,则可以在函数末尾添加以下行,如下所示:

public function DoAddSales(Request $request){
    ...
    // Your code
    ...
    return redirect()->to('\view\list')->with('alert-success','Records saved Successfully');
}

注意:此重定向路由必须是GET类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM