ProduitController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace App\Http\Controllers\backend;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Models\Produit;
  6. use App\Models\Categorie;
  7. use Illuminate\Support\Facades\Storage;
  8. class ProduitController extends Controller
  9. {
  10. public function Index(){
  11. $articles = Produit::with('categorie')->get();
  12. return view("backend.produit.index",compact('articles'));
  13. }
  14. public function create(){
  15. $categories = Categorie::select('nom', 'id')->oldest('nom')->get();
  16. return view('backend.produit.add',compact('categories'));
  17. }
  18. public function store( Request $request){
  19. $article= new Produit();
  20. $article->nom = $request->input('nom');
  21. $article->category_id = $request->input('categorie');
  22. $article->description = $request->input('description');
  23. if($request->hasFile('image')){
  24. $article->image = $request->image->store('image');
  25. }
  26. $article->save();
  27. return redirect('produits');
  28. }
  29. public function show($id){
  30. $article=Produit::find($id);
  31. return view('backend.produit.show',['article'=>$article]);
  32. }
  33. public function edit($id) {
  34. $article = Produit::find($id);
  35. $categories = Categorie::select('nom', 'id')->oldest('nom')->get();
  36. return view('backend.produit.edit',['article'=>$article],compact('categories'));
  37. }
  38. public function update(Request $request, $id) {
  39. $article = Produit::find($id);
  40. $article->nom = $request->input('nom');
  41. $article->category_id = $request->input('categorie');
  42. $article->description = $request->input('description');
  43. if($request->hasFile('image')){
  44. $article->image = $request->image->store('image');
  45. if ($request->image) {
  46. Storage::delete('public/' . $request->image);
  47. }
  48. else {
  49. $article->image = $request->image->store('image');
  50. }
  51. }
  52. $article->created_at = \Carbon\Carbon::now();
  53. $article->save();
  54. return redirect ('produits');
  55. }
  56. public function diapo($id) {
  57. $article = Produit::find($id);
  58. return view('backend.produit.extension.diapo',['article'=>$article]);
  59. }
  60. public function updateDiapo(Request $request, $id) {
  61. // request()->validate([
  62. // 'diapo' => 'required|image|mimes:jpeg,png,jpg,gif,svg',
  63. // ]);
  64. $article = [];
  65. if($request->hasfile('diapo'))
  66. {
  67. foreach($request->file('diapo') as $article)
  68. {
  69. $name=$article->getClientOriginalName();
  70. $article->move(public_path().'storage/files/', $name);
  71. $data[] = $name;
  72. }
  73. }
  74. $article= Produit::find($id);
  75. $article->diapo=json_encode($data);
  76. $article->diapo = $article;
  77. $article->save();
  78. return back()->with('success', 'Image Upload successfully');
  79. }
  80. }