Просмотр файла app/Http/Controllers/Load/TopController.php

Размер файла: 0.98Kb
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. namespace App\Http\Controllers\Load;
  6.  
  7. use App\Http\Controllers\Controller;
  8. use App\Models\Down;
  9. use Illuminate\Http\Request;
  10. use Illuminate\View\View;
  11.  
  12. class TopController extends Controller
  13. {
  14. /**
  15. * Топ файлов
  16. *
  17. * @param Request $request
  18. *
  19. * @return View
  20. */
  21. public function index(Request $request): View
  22. {
  23. $sort = check($request->input('sort'));
  24.  
  25. switch ($sort) {
  26. case 'rating':
  27. $order = 'rating';
  28. break;
  29. case 'comments':
  30. $order = 'count_comments';
  31. break;
  32. default:
  33. $order = 'loads';
  34. }
  35.  
  36. $downs = Down::query()
  37. ->where('active', 1)
  38. ->orderByDesc($order)
  39. ->with('category', 'user')
  40. ->paginate(setting('downlist'))
  41. ->appends(['sort' => $sort]);
  42.  
  43. return view('loads/top', compact('downs', 'order'));
  44. }
  45. }