---
title: "Neznáme parametre a chyby — Query Builder for Laravel | Roundly"
description: "Nepovolené filtre a triedenia vrátia HTTP 400 s preložiteľnou hláškou s obmedzenou dĺžkou — alebo sa v režime ignore zahodia."
url: https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel/nezname-parametre
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)

# Neznáme parametre a chyby

Požiadavka na filter alebo triedenie mimo allow-listu vyhodí UnknownFilter alebo UnknownSort. Obe dedia zo Symfony HttpException so stavom 400, takže ich Laravel vykreslí ako bežnú HTTP chybu:

```
GET /posts?filter[secret]=1

HTTP/1.1 400 Bad Request
{"message": "Requested filter(s) `secret` are not allowed. Allowed filter(s) are `status, title`."}
```

## Režim ignore

Nastavte mode.unknown\_filter alebo mode.unknown\_sort na ignore a problematický kľúč sa potichu zahodí — použijú sa len povolené. Reťazec triedenia, ktorý sa zahodí celý, sa správa, akoby chýbal, takže stránku stále zoradí defaultSort(). Iná hodnota ako reject či ignore vyhodí InvalidConfigurationException namiesto hádania:

```php
// config/query-builder.php
'mode' => [
    'unknown_filter' => 'ignore',   // drop un-allow-listed filters
    'unknown_sort'   => 'reject',   // keep sorts strict (HTTP 400)
],
```

## Hlášky a preklady

Hlášky pochádzajú z query-builder::errors.unknown\_filter a query-builder::errors.unknown\_sort so zástupnými symbolmi :unknown a :allowed. Odrazené neznáme kľúče sú obmedzené — prvých 5, každý skrátený na 64 znakov, s dovetkom „…and N more“ — takže kľúče od útočníka nezaplavia odpoveď ani logy. Angličtina a slovenčina sú súčasťou balíka, takže pri jazyku aplikácie sk sa hláška zobrazí po slovensky. Publikujte preklady, ak chcete zmeniť znenie alebo pridať jazyk — publikovaný slovenský súbor:

```php
// lang/vendor/query-builder/sk/errors.php
return [
    'unknown_filter' => 'Požadované filtre `:unknown` nie sú povolené. Povolené filtre sú `:allowed`.',
    'unknown_sort' => 'Požadované zoradenia `:unknown` nie sú povolené. Povolené zoradenia sú `:allowed`.',
];
```

## Prehľad výnimiek

| Výnimka | Kedy sa vyhodí |
| --- | --- |
| `UnknownFilter` | Požadovaný kľúč filtra nie je v allow-liste (režim reject). Symfony HttpException, stav 400. |
| `UnknownSort` | Požadovaný kľúč triedenia nie je v allow-liste (režim reject). Symfony HttpException, stav 400. |
| `UnsupportedOperator` | Filter je deklarovaný s operátorom, ktorý nevie vykonať. LogicException — chyba vývojára, vyhodí sa pri vytvorení filtra. |
| `InvalidFilterDeclaration` | Filter je deklarovaný s argumentmi, s ktorými nevie pracovať — search() bez stĺpcov, stĺpec, ktorý je SQL výrazom, alebo stĺpec v asText, ktorý filter neprehľadáva. LogicException, vyhodí sa pri vytvorení filtra. |
| `AllowListAlreadyApplied` | allowedFilters(), allowedSorts() alebo defaultSort() sa zavolá až potom, čo request aplikovalo preposlané volanie buildera. LogicException — chyba vývojára, nikdy ju nevyvolá request. |
| `QueryBuilderException` | Značkovacie rozhranie, ktoré implementujú všetkých päť — zachyťte ho a pokryjete celú rodinu. |

```php
use RoundlyConsulting\QueryBuilder\Exceptions\QueryBuilderException;

try {
    $posts = QueryBuilder::for(Post::class, $request)
        ->allowedFilters('status')
        ->get();                        // filters apply here — lazily
} catch (QueryBuilderException $e) {
    // UnknownFilter / UnknownSort — both carry HTTP status 400
}
```

## 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)
