送信を押すたびに次のコントローラーがあり、セールスにリダイレクトされます。ここで、sale.indexではなくadmin.invoice.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);
}
回答:
回答№1は2パス data
〜と with()
を通して 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(IlluminateHttpRequest $request){
$data = [];
if ($request->session()->has("data")) {
$data = $request->session()->get("data");
}
return view("admin.invoice.index")->with("data", $data);
});
回答№2の場合は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");