LaundryController.php 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Laundry\StoreLaundryRequest;
  5. use App\Http\Requests\Laundry\UpdateLaundryRequest;
  6. use App\Models\Laundry;
  7. class LaundryController extends Controller
  8. {
  9. /**
  10. * Display a listing of the resource.
  11. *
  12. * @return \Inertia\Response
  13. */
  14. public function index()
  15. {
  16. return inertia('laundry/Index', [
  17. 'laundries' => Laundry::latest()
  18. ->filter(request()->search)
  19. ->paginate(10)
  20. ->withQueryString()
  21. ->through(fn($laundry) => [
  22. 'id' => $laundry->id,
  23. 'name' => $laundry->name,
  24. 'price' => $laundry->price,
  25. 'unit' => $laundry->unit,
  26. ]),
  27. ]);
  28. }
  29. /**
  30. * Show the form for creating a new resource.
  31. *
  32. * @return \Inertia\Response
  33. */
  34. public function create()
  35. {
  36. return inertia('laundry/Create');
  37. }
  38. /**
  39. * Store a newly created resource in storage.
  40. *
  41. * @param \Illuminate\Http\Request $request
  42. * @return \Illuminate\Http\Response
  43. */
  44. public function store(StoreLaundryRequest $request)
  45. {
  46. Laundry::create($request->validated());
  47. return to_route('laundries.index')->with('success', __('messages.success.store.laundry'));
  48. }
  49. /**
  50. * Display the specified resource.
  51. *
  52. * @param int $id
  53. * @return \Inertia\Response
  54. */
  55. public function show($id)
  56. {
  57. //
  58. }
  59. /**
  60. * Show the form for editing the specified resource.
  61. *
  62. * @param Laundry $laundry
  63. * @return \Inertia\Response
  64. */
  65. public function edit(Laundry $laundry)
  66. {
  67. return inertia('laundry/Edit', [
  68. 'laundry' => [
  69. 'id' => $laundry->id,
  70. 'name' => $laundry->name,
  71. 'price' => $laundry->getRawOriginal('price'),
  72. 'unit' => $laundry->unit,
  73. ],
  74. ]);
  75. }
  76. /**
  77. * Update the specified resource in storage.
  78. *
  79. * @param \Illuminate\Http\Request $request
  80. * @param Laundry $laundry
  81. * @return \Illuminate\Http\Response
  82. */
  83. public function update(UpdateLaundryRequest $request, Laundry $laundry)
  84. {
  85. $laundry->update($request->validated());
  86. return back()->with('success', __('messages.success.update.laundry'));
  87. }
  88. /**
  89. * Remove the specified resource from storage.
  90. *
  91. * @param Laundry $laundry
  92. * @return \Illuminate\Http\Response
  93. */
  94. public function destroy(Laundry $laundry)
  95. {
  96. $laundry->delete();
  97. return to_route('laundries.index')->with('success', __('messages.success.destroy.laundry'));
  98. }
  99. }