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

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