request('search'), 'products' => Product::filter(request()->only('search')) ->latest() ->paginate(10) ->withQueryString() ->through(fn($product) => [ 'id' => $product->id, 'number' => $product->number, 'name' => $product->name, 'unit' => $product->unit ]) ]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return inertia('Products/Create', [ 'number' => 'PDK' . now()->format('YmdHis') ]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(StoreProductRequest $request) { Product::create($request->validated()); return back()->with('success', __('messages.success.store.product')); } /** * Display the specified resource. * * @param Product $product * @return \Illuminate\Http\Response */ public function show(Product $product) { // } /** * Show the form for editing the specified resource. * * @param Product $product * @return \Illuminate\Http\Response */ public function edit(Product $product) { return inertia('Products/Edit', compact('product')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param Product $product * @return \Illuminate\Http\Response */ public function update(UpdateProductRequest $request, Product $product) { $product->update($request->validated()); return back()->with('success', __('messages.success.update.product')); } /** * Remove the specified resource from storage. * * @param Product $product * @return \Illuminate\Http\Response */ public function destroy(Product $product) { $product->delete(); return to_route('products.index')->with('success', __('messages.success.destroy.product')); } }