ProjectController.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\Project;
  5. class ProjectController extends Controller
  6. {
  7. /**
  8. * Display a listing of the resource.
  9. *
  10. * @return \Illuminate\Http\Response
  11. */
  12. public function index()
  13. {
  14. $projects = Project::get();
  15. return view('projects.index',['projects' => $projects]);
  16. }
  17. /**
  18. * Show the form for creating a new resource.
  19. *
  20. * @return \Illuminate\Http\Response
  21. */
  22. public function create()
  23. {
  24. return view('projects.create');
  25. }
  26. /**
  27. * Store a newly created resource in storage.
  28. *
  29. * @param \Illuminate\Http\Request $request
  30. * @return \Illuminate\Http\Response
  31. */
  32. public function store(Request $request)
  33. {
  34. request()->validate([
  35. 'name' => 'required|max:255',
  36. 'description' => 'required',
  37. ]);
  38. $project = new Project();
  39. $project->name = $request->name;
  40. $project->description = $request->description;
  41. $project->save();
  42. return redirect()->route('projects.index')
  43. ->with('success','Project saved successfully!');
  44. }
  45. /**
  46. * Display the specified resource.
  47. *
  48. * @param int $id
  49. * @return \Illuminate\Http\Response
  50. */
  51. public function show($id)
  52. {
  53. $project = Project::find($id);
  54. return view('projects.show', ['project' => $project]);
  55. }
  56. /**
  57. * Show the form for editing the specified resource.
  58. *
  59. * @param int $id
  60. * @return \Illuminate\Http\Response
  61. */
  62. public function edit($id)
  63. {
  64. $project = Project::find($id);
  65. return view('projects.edit', ['project' => $project]);
  66. }
  67. /**
  68. * Update the specified resource in storage.
  69. *
  70. * @param \Illuminate\Http\Request $request
  71. * @param int $id
  72. * @return \Illuminate\Http\Response
  73. */
  74. public function update(Request $request, $id)
  75. {
  76. request()->validate([
  77. 'name' => 'required|max:255',
  78. 'description' => 'required',
  79. ]);
  80. $project = Project::find($id);
  81. $project->name = $request->name;
  82. $project->description = $request->description;
  83. $project->save();
  84. return redirect()->route('projects.index')
  85. ->with('success','Project updated successfully!');
  86. }
  87. /**
  88. * Remove the specified resource from storage.
  89. *
  90. * @param int $id
  91. * @return \Illuminate\Http\Response
  92. */
  93. public function destroy($id)
  94. {
  95. Project::destroy($id);
  96. return redirect()->route('projects.index')
  97. ->with('success','Project deleted successfully!');
  98. }
  99. }