Вход Регистрация
Файл: app/Http/Controllers/Load/LoadController.php
Строк: 51
<?php

declare(strict_types=1);

namespace 
AppHttpControllersLoad;

use 
AppHttpControllersController;
use 
AppModelsDown;
use 
AppModelsLoad;
use 
IlluminateHttpRequest;
use 
IlluminateViewView;

class 
LoadController extends Controller
{
    
/**
     * Главная страница
     */
    
public function index(): View
    
{
        
$categories Load::query()
            ->
where('parent_id'0)
            ->
with('children''new''children.new')
            ->
orderBy('sort')
            ->
get();

        if (
$categories->isEmpty()) {
            
abort(200__('loads.empty_loads'));
        }

        return 
view('loads/index'compact('categories'));
    }

    
/**
     * Список файлов в категории
     */
    
public function load(int $idRequest $request): View
    
{
        
/** @var Load $category */
        
$category Load::query()->with('parent')->find($id);

        if (! 
$category) {
            
abort(404__('loads.load_not_exist'));
        }

        
$sort check($request->input('sort''time'));
        
$order match ($sort) {
            
'rating'   => 'rating',
            
'comments' => 'count_comments',
            
'loads'    => 'loads',
            default    => 
'created_at',
        };

        
$downs Down::query()
            ->
where('category_id'$category->id)
            ->
where('active'1)
            ->
orderByDesc($order)
            ->
paginate(setting('downlist'))
            ->
appends(['sort' => $sort]);

        return 
view('loads/load'compact('category''downs''order'));
    }

    
/**
     * RSS всех файлов
     */
    
public function rss(): View
    
{
        
$downs Down::query()
            ->
orderByDesc('created_at')
            ->
limit(15)
            ->
get();

        if (
$downs->isEmpty()) {
            
abort(200__('loads.downs_not_found'));
        }

        return 
view('loads/rss'compact('downs'));
    }
}
Онлайн: 0
Реклама