多个输入字段上的laravel会话路由重定向错误

时间:2018-02-04 10:18:18

标签: laravel laravel-5 eloquent

每当我点击提交时,我都有以下控制器,它会将我重定向到销售。它应该返回admin.invoice.index页面而不是sale.index。请帮忙吗?

  $data = array();
    for ($i=0; $i < count($request['product_id']); ++$i) 
    {
     $sales= new Sale;        
     $sales->product_id = $request['product_id'][$i];
     $sales->qty= $request['qty'][$i];
     $sales->user_id = Auth::user()->id;
     $sales->save(); 
     $product = new Product;
     $product->where('id', '=', $request['product_id'][$i])->decrement('stock', $request['qty'][$i]);
     $data[]['sales'] = $sales;
     $data[]['product'] = $product;

 }

 $data = [];
 if ($request->session()->has('data')) {
    $data = $request->session()->get('data');


}
Session::flash('success', 'Sale is successfully');
return view('admin.invoice.index')->with('data', $data);

}

2 个答案:

答案 0 :(得分:2)

datawith()一起传递给session

{
    $data = array();
    for ($i=0; $i < count($request['product_id']); ++$i) 
    {
     $sales= new Sale;        
     $sales->product_id = $request['product_id'][$i];
     $sales->qty= $request['qty'][$i];
     $sales->user_id = Auth::user()->id;
     $sales->save(); 
     $p = new Product;
     $p->where('id', '=', $request['product_id'][$i])->decrement('stock', $request['qty'][$i]);
     $product = Product::where('id', '=', $request['product_id'][$i])->first();
     $data[$i]['sales'] = $sales;
     $data[$i]['product'] = $product;
   }

   Session::flash('success', 'Sale is successfully');
   return redirect('/invoice')->with('data', $data);
}

然后,制作一条新路线 -

Route::get('/invoice', function(\Illuminate\Http\Request $request){
      $data = [];
      if ($request->session()->has('data')) {
            $data = $request->session()->get('data');
      }

      return view('admin.invoice.index')->with('data', $data);
});

答案 1 :(得分:1)

@ Sohel0415 我的销售总监是这样的。

public function index()
        {
            $sales = Sale::orderBy('id', 'DESC')->get();
            return view('admin.sales.index', compact('sales'));
        }


        public function create()
        {

            $products = Product::pluck('name', 'id', 'qty')->toArray();
            return view('admin.sales.create', compact('products'));
        }

        public function store(Request $request)
        {

           $data = array();
           for ($i=0; $i < count($request['product_id']); ++$i) 
           {
               $sales= new Sale;        
               $sales->product_id = $request['product_id'][$i];
               $sales->qty= $request['qty'][$i];
               $sales->user_id = Auth::user()->id;
               $sales->save(); 
               $product = new Product;
               $product->where('id', '=', $request['product_id'][$i])->decrement('stock', $request['qty'][$i]);
               $data[]['sales'] = $sales;
               $data[]['product'] = $product;

           }
           Session::flash('success', 'Sale is successfully');
           return view('admin.invoice.index')->with('data', $data);

    }

admin.invoice.index

@extends('layouts.master')
@section('content')
@foreach($data as $d)
    {{$d['sales']}} 
    {{$d['product']}} 
@endforeach
@endsection

My web.php or routes:

    Route::resource('categories', 'CategoriesController');
        Route::resource('products', 'ProductsController');
        Route::resource('sales', 'SalesController');