@procode
Разработчик

Есть ли возможность сделать сортировку при paginate() в обратном порядке без использования фасада DB::?

Здравствуйте.

Мне нужно вывести записи из базы в обратном порядке и с пагинацией.

Единственный метод, который я пока что нашел, что что-то вроде:

$tickets = DB::table('ticket')->orderBy('id', 'desc')->paginate(10);


Но мне это видится слишком каким-то.. костыльным, что ли)) хочется сделать с использованием модели, а не конструктора запросов.

Есть ли такие варианты?

Спасибо.
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
StanislavMychko
@StanislavMychko
Мыслитель
Можешь использовать модель Eloquent, а не конструктор запросов. (через фасад)
$tickets = Ticket::orderBy('id', 'desc')->paginate(10);


Можно и через конструктор внедрить зависимость:
class TicketController extends Controller
{
    protected $ticket;
    
    public function __construct(Ticket $ticket)
    {
        $this->ticket = $ticket;
    }

    // для примера метод index
    public function index()
    {
        $tickets = $this->ticket->orderBy('id', 'desc')->paginate(10);

        return view('tickets.index', [
                'tickets' => $tickets,
        ]);
    }
}


В целом принцип везде одинаковый. Это если не вдаваться в подробности.
Не забываем в файлах указывать пространства имен где лежат файлы!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы