Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. <div class="container">
  2. <div class="col-xs-12 row-centered">
  3. {{ $images->appends(request()->input())->links()}}
  4. </div>
  5. </div>
  6.  
  7. public function filter(Request $request)
  8.  
  9.  
  10. {
  11. $brand = $request->brand;
  12. $color = $request->color;
  13. $style = $request->style;
  14. $material = $request->material;
  15. $year = $request->year;
  16. $shape = $request->shape;
  17. $sorting = $request->sort;
  18. $page = $request->page;
  19. $user_id = $request->user_id;
  20.  
  21. $sortingMethod = 'desc';
  22. $sortingParameter = 'created_At';
  23.  
  24. //Abfrage wie sortiert werden soll
  25.  
  26. if ($sorting == 'uploadDesc') {
  27. $sortingMethod = 'desc';
  28. $sortingParameter = 'created_At';
  29. } else if ($sorting == 'uploadAsc') {
  30. $sortingMethod = 'asc';
  31. $sortingParameter = 'created_At';
  32. } else if ($sorting == 'leer') {
  33. $sortingMethod = 'desc';
  34. $sortingParameter = 'created_At';
  35. } else if ($sorting == 'likesAsc') {
  36. $sortingParameter = 'count';
  37. $sortingMethod = 'asc';
  38. } else if ($sorting == 'likesDesc') {
  39. $sortingParameter = 'count';
  40. $sortingMethod = 'desc';
  41. }
  42.  
  43. //$imagesQuery = DB::table('images')->select('brand', 'color', 'style', 'material', 'shape', 'year', 'id', 'path', 'created_at')->where('contest', 'true');
  44. $imagesQuery = DB::table('images')
  45. ->leftJoin('likes', 'images.id', '=', 'likes.image_id')
  46. ->select('images.*', DB::raw("count(likes.image_id) as count"))
  47. ->groupBy('images.id', 'images.brand', 'images.user_id', 'images.color', 'images.style', 'images.material', 'images.shape', 'images.year', 'images.desc', 'images.path', 'images.name', 'images.model', 'images.contest', 'images.remember_token', 'images.created_at', 'images.updated_at')
  48. ->orderBy($sortingParameter, $sortingMethod);
  49.  
  50.  
  51. $brands = DB::table('images')->select('brand')->groupBy('brand')->get();
  52. $colors = DB::table('images')->select('color')->groupBy('color')->get();
  53. $styles = DB::table('images')->select('style')->groupBy('style')->get();
  54. $materials = DB::table('images')->select('material')->groupBy('material')->get();
  55. $years = DB::table('images')->select('year')->groupBy('year')->get();
  56. $shapes = DB::table('images')->select('shape')->groupBy('shape')->get();
  57.  
  58.  
  59. if ($brand !== 'leer') {
  60. $imagesQuery->where('brand', '=', $brand);
  61. }
  62.  
  63. if ($year !== 'leer') {
  64. $imagesQuery->where('year', '=', $year);
  65. }
  66.  
  67. if ($color !== 'leer') {
  68. $imagesQuery->where('color', '=', $color);
  69. }
  70.  
  71. if ($style !== 'leer') {
  72. $imagesQuery->where('style', '=', $style);
  73. }
  74.  
  75. if ($material !== 'leer') {
  76. $imagesQuery->where('material', '=', $material);
  77. }
  78.  
  79. if ($shape !== 'leer') {
  80. $imagesQuery->where('shape', '=', $shape);
  81. }
  82.  
  83. if ($year !== 'leer') {
  84. $imagesQuery->where('year', '=', $year);
  85. }
  86.  
  87.  
  88. if ($page == 'contest') {
  89. $imagesQuery->where('images.contest', '=', 'true');
  90.  
  91. $brands->where('contest', 'true');
  92. $colors->where('contest', 'true');
  93. $styles->where('contest', 'true');
  94. $materials->where('contest', 'true');
  95. $years->where('contest', 'true');
  96. $shapes->where('contest', 'true');
  97. }
  98.  
  99. if ($page == 'profile') {
  100. $imagesQuery->where('images.user_id', '=', $user_id);
  101. $user = User::find($user_id);
  102. }
  103.  
  104. $images = $imagesQuery->paginate(12);
  105.  
  106. return view($page)->with(compact('images', 'brands', 'colors', 'styles', 'materials', 'years', 'shapes', 'user'));
  107.  
  108. }
  109.  
  110. Route::get('/indexFilter', 'ImagesController@filter');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement