---
title: "Tvary hodnôt — Query Builder for Laravel | Roundly"
description: "Deklarujte FilterValueShape na typovaných stĺpcoch, aby chybné uuid či id vrátilo prázdny výsledok namiesto chyby 500 na PostgreSQL."
url: https://roundly-consulting.com/sk/open-source/navody/query-builder-for-laravel/tvary-hodnot
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)

# Tvary hodnôt

PostgreSQL na hodnotu nesprávneho typu odpovie chybou, nie „žiadnou zhodou“, takže filter\[project\]=garbage na uuid stĺpci je chyba 500, ktorú vyvolá ktokoľvek cez request. (MySQL a SQLite hodnotu naopak pretypujú — nečíselný reťazec sa zmení na 0 a potichu nájde riadok nula.) Deklarujte FilterValueShape na každom typovanom stĺpci a hodnoty, ktoré stĺpec nemôže obsahovať, sa k driveru nikdy nedostanú:

| Prípad | Hodnota | Prijme |
| --- | --- | --- |
| `FilterValueShape::Text` | `text` | Ľubovoľný reťazec — predvolené; nechráni nič. |
| `FilterValueShape::Uuid` | `uuid` | Platné UUID. |
| `FilterValueShape::Id` | `id` | Nezáporné celé číslo do PHP\_INT\_MAX (maximum bigint) v syntaxi FILTER\_VALIDATE\_INT; znamienko sa číta z prevedeného čísla, takže „ -5“ sa odmietne a -0 je 0. |
| `FilterValueShape::Boolean` | `boolean` | true/false/1/0 v ľubovoľnej veľkosti písmen; do dopytu príde ako skutočný boolean. |

```php
use RoundlyConsulting\QueryBuilder\Enums\FilterValueShape;
use RoundlyConsulting\QueryBuilder\Enums\RequestedOperator;

->allowedFilters(
    AllowedFilter::operators('author', [RequestedOperator::Not], 'author_id', shape: FilterValueShape::Id),
    AllowedFilter::nullable('project', 'project_id', FilterValueShape::Uuid),
    AllowedFilter::relation('label', 'labels', 'labels.id', FilterValueShape::Uuid),
)

// ?filter[author]=garbage     → empty result, no driver error
// ?filter[author]=not:garbage → excludes nothing
// ?filter[project]=12345      → empty result
```

Boolean navyše odovzdá dopytu skutočný boolean — text 'false' nie je false pre žiadny engine. V kombinácii s operators() dostane príznakový stĺpec aj negáciu:

```php
->allowedFilters(
    AllowedFilter::operators('active', [RequestedOperator::Not], shape: FilterValueShape::Boolean), // not:true
)
```

## Ako sa správa

- Prijímajú ho operators(), nullable(), relation() a jsonContains(); AllowedFilter::boolean() je operators() s tvarom Boolean. Predvolený Text nechráni nič, takže sa žiadny existujúci filter nezmení.
- Hodnoty nesprávneho tvaru sa zahodia ešte pred zostavením dopytu. Ak nezostane žiadna, zhoda vráti prázdny výsledok — nikdy nefiltrovaný zoznam — a negácia nevylúči nič, keďže žiadny riadok nemohol vyhovieť.
- Chýbajúca hodnota nie je nesprávna hodnota: filter\[active\]= pri boolean('active') nepridá žiadnu podmienku, kým filter\[active\]=maybe nenájde nič.
- Id odmietne aj čísla mimo rozsahu: PostgreSQL zlyhá na bigint mimo rozsahu rovnako ako na chybnom uuid.
- Typovaný tvar nemožno kombinovať s operátorom z rodiny LIKE (contains, ncontains, starts) ani s partialByDefault — deklarácia vyhodí UnsupportedOperator namiesto zlyhania pri prvom requeste.

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