ProduitController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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 App\Models\Media;
  8. use Illuminate\Support\Facades\Storage;
  9. class ProduitController extends Controller
  10. {
  11. public function Index(){
  12. $articles = Produit::with('categorie')->get();
  13. return view("backend.produit.index",compact('articles'));
  14. }
  15. public function create(){
  16. $categories = Categorie::select('nom', 'id')->oldest('nom')->get();
  17. return view('backend.produit.add',compact('categories'));
  18. }
  19. public function store( Request $request){
  20. $article= new Produit();
  21. $article->nom = $request->input('nom');
  22. $article->category_id = $request->input('categorie');
  23. $article->description = $request->input('description');
  24. if($request->hasFile('image')){
  25. $article->image = $request->image->store('image');
  26. }
  27. $article->save();
  28. return redirect('produits');
  29. }
  30. public function show($id){
  31. $article=Produit::find($id);
  32. $diapos=Media::where('produit_id','=',$article->id)->get();
  33. return view('backend.produit.show',['article'=>$article],compact('diapos'));
  34. }
  35. public function edit($id) {
  36. $article = Produit::find($id);
  37. $categories = Categorie::select('nom', 'id')->oldest('nom')->get();
  38. return view('backend.produit.edit',['article'=>$article],compact('categories'));
  39. }
  40. public function update(Request $request, $id) {
  41. $article = Produit::find($id);
  42. $article->nom = $request->input('nom');
  43. $article->category_id = $request->input('categorie');
  44. $article->description = $request->input('description');
  45. if($request->hasFile('image')){
  46. $article->image = $request->image->store('image');
  47. if ($request->image) {
  48. Storage::delete('public/' . $request->image);
  49. }
  50. else {
  51. $article->image = $request->image->store('image');
  52. }
  53. }
  54. $article->created_at = \Carbon\Carbon::now();
  55. $article->save();
  56. return redirect ('produits');
  57. }
  58. public function diapo($id) {
  59. $article = Produit::find($id);
  60. return view('backend.produit.extension.diapo',['article'=>$article]);
  61. }
  62. public function updateDiapo(Request $request, $id) {
  63. $diapo = [];
  64. $article = Produit::find($id);
  65. if($files=$request->file('diapo')){
  66. foreach($files as $file){
  67. $name=$file->hashName();
  68. $file->move('storage/diapos',$name);
  69. $diapo[]=$name;
  70. Media::create(array_merge(
  71. [
  72. 'produit_id' => $article -> id,
  73. 'diapo' => ($name),
  74. ],
  75. ));
  76. }
  77. return back()->with('success', 'Image Upload successfully');
  78. }
  79. $article->save();
  80. }
  81. public function destroyMedia(Request $request, $id){
  82. $diapo = Media::find($id);
  83. $diapo->delete();
  84. return back();
  85. }
  86. }