---
title: "Triedenie — Query Builder for Laravel | Roundly"
description: "Povoľte polia na triedenie, mapujte verejné názvy na stĺpce, trieďte podľa viacerých stĺpcov a nastavte predvolené poradie."
url: https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel/triedenie
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Query Builder for Laravel](https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel.md)

# Triedenie

Polia na triedenie deklarujete cez allowedSorts(). Reťazec sa zmení na AllowedSort::field(); AllowedSort::custom() pripojí vlastnú implementáciu Sort:

```php
use RoundlyConsulting\QueryBuilder\AllowedSort;

->allowedSorts(
    'title',                                     // shorthand for AllowedSort::field('title')
    AllowedSort::field('popularity', 'views'),   // sort=-popularity → ORDER BY views DESC
    AllowedSort::custom('length', new TitleLengthSort),
)
->defaultSort('-created_at')                     // applied only when no sort param is present
```

## Syntax triedenia

- sort=title triedi vzostupne; úvodné - (sort=-title) triedi zostupne.
- sort=-created\_at,name použije viac triedení zľava doprava.
- Opakovaný stĺpec sa zlúči do prvého výskytu — sort=title,-title triedi podľa title vzostupne, a to raz.
- Použije sa najviac limits.max\_sorts stĺpcov (predvolene 5), počítané po odstránení duplicít. Rátajú sa len triedenia z allow-listu, takže v režime ignore neznámy token nikdy nevytlačí platný, ktorý nasleduje za ním.

## Predvolené triedenie

defaultSort() má rovnakú syntax — prefix - a viac stĺpcov oddelených čiarkami — a spustí sa len vtedy, keď request neuvádza žiadne triedenie — alebo v režime ignore žiadne, ktoré allow-list pozná. Token predvoleného triedenia, ktorý zodpovedá povolenému triedeniu, ho použije (vrátane interného stĺpca či vlastného triedenia); akýkoľvek iný token sa zoradí ako obyčajný stĺpec, takže predvolené triedenie nemusí byť v allow-liste:

```php
QueryBuilder::for(Post::class)
    ->allowedSorts('title', AllowedSort::field('popularity', 'views'))
    ->defaultSort('-popularity,id');   // ORDER BY views DESC, id ASC

// ?sort=title → ORDER BY title ASC (the default is skipped)
```

## Prehľad metód

| Metóda | Efekt |
| --- | --- |
| `AllowedSort::field($name, $internalName = null)` | `orderBy(<column>, <direction>)` |
| `AllowedSort::custom($name, Sort $sort, $internalName = null)` | Deleguje na vašu implementáciu Sort. |
| `defaultSort(string $sort)` | Poradie, keď request neobsahuje parameter sort. |

Smery predstavuje enum SortDirection: Ascending (asc) a Descending (desc); SortDirection::fromToken('-title') určí smer tokenu.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel.md)
