---
title: "Štítky a prepojenia — Tickets for Laravel | Roundly"
description: "Farebné štítky len pre agentov, globálne alebo projektové, s trvalými názvami — a typované prepojenia tiketov s kontrolou cyklov."
url: https://roundly-consulting.com/sk/open-source/navody/tickets-for-laravel/stitky-a-prepojenia
language: sk
---

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

[Tickets for Laravel](https://roundly-consulting.com/sk/open-source/navody/tickets-for-laravel.md)

# Štítky a prepojenia

Štítky sú označenia len pre agentov, globálne alebo pre projekt:

```php
Tickets::tags()->create('printer', color: '#f24e29', project: $helpdesk);
Tickets::tags()->findOrCreate('vip');
Tickets::tags()->rename($tag, 'printers');
Tickets::tags()->recolor($tag, null);
Tickets::tags()->delete($tag);                                // returns the trashed tag
Tickets::tags()->find('printer', $helpdesk);                  // by id or slug: the project's, else the global one
Tickets::tags()->all($helpdesk);                              // global + the project's, by name

Tickets::for($ticket)->tags()->attach(['printer', 'vip'])->detach('spam');
Tickets::for($ticket)->tags()->sync(['printer']);
Tickets::for($ticket)->tags()->all();
```

- Názov má 1–64 znakov (orezaný) a musí sa dať previesť na slug; farba je #rrggbb (uložená malými písmenami) alebo null — inak InvalidTagException.
- Štítok sa pripája podľa názvu (pri tickets.tags.free\_form sa vytvorí za behu, inak InvalidTagException) alebo ako TicketTag. Projekt štítka musí byť projekt tiketu, alebo globálny. Názov sa najprv priradí živému štítku — projektovému, potom globálnemu.
- Zmazanie štítka ho odoberie zo všetkých tiketov: každý živý tiket zapíše interný záznam untagged a spustí TicketUntagged.
- Názvy sú v rámci rozsahu trvalé: vytvorenie názvu zmazaného štítka obnoví jeho riadok (rovnaké id aj slug) — prázdny, takže označenie jedného tiketu nikdy potichu neoznačí iné. Premenovanie na existujúci názov sa odmietne; slug nasleduje premenovanie.
- Pripojenie, odpojenie aj synchronizácia sú idempotentné a zapíšu jednu internú aktivitu na volanie ({added, removed}); TicketTagged / TicketUntagged sa spustia s názvami. Zápisy štítkov sa radia na lock:tags, takže súbežné findOrCreate('printer') vytvorí jeden štítok.

## Prepojenia

```php
use RoundlyConsulting\Tickets\Enums\LinkType;

Tickets::for($ticket)->by($agent)->links()->add('TCK-9', LinkType::Blocks);
Tickets::for($ticket)->links()->remove($other, LinkType::Blocks);
Tickets::for($ticket)->links()->all();   // list<TicketLinkView>: ticket, type, label, direction
```

| Typ | Z pohľadu druhého konca |
| --- | --- |
| `relates_to` | relates\_to (symetrické; uložené raz, nižší kľúč prvý) |
| `duplicates` | `duplicated_by` |
| `blocks` | `blocked_by` |
| `parent_of` | `child_of` |

S InvalidTicketLinkException sa odmietne: prepojenie na seba; prepojenie blocks / parent\_of, ktoré uzavrie cyklus (prehľadávanie do hĺbky obmedzené tickets.links.max\_depth); druhý rodič; prepojenie medzi projektmi pri vypnutom tickets.links.cross\_project; odobratie prepojenia, ktorého tento tiket nie je súčasťou. Pridanie duplicitného prepojenia nič nespraví. Prepojenia na soft-deleted tiket sú skryté a nedajú sa odobrať.

remove() vezme prepojenie, ktoré tento tiket drží ako odchádzajúce, inak prichádzajúce. duplicates môže viesť oboma smermi (A duplikuje B aj B duplikuje A, dva riadky): remove() volajte z toho konca, ktorého prepojenie má zaniknúť. DELETE …/links/{link} v API odstráni presne riadok, ktorý uvedie.

## 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/tickets-for-laravel.md)
