Tato funkce také vyžaduje, aby byl povolen Advanced mode (přepínač je vpravo dole v Settings).
Kdy použít mnoho-na-mnoho
Použijte mnoho-na-mnoho, když obě strany vztahu mohou mít více propojení:| Vztah | Příklad |
|---|---|
| Lidé ↔ Projekty | Osoba pracuje na více projektech; projekt má více členů týmu |
| Společnosti ↔ Štítky | Společnost může mít více štítků; štítek může platit pro více společností |
| Produkty ↔ Objednávky | Produkt může být v několika objednávkách; objednávka obsahuje více produktů |
Jak to funguje
Twenty používá u vztahů mnoho-na-mnoho vzor spojovacího objektu. Spojovací objekt leží mezi dvěma objekty a uchovává propojení:- Vztah na People (mnoho k jednomu)
- Vztah na Projects (mnoho k jednomu)
Předpoklady
- Povolte Junction Relations v Lab: Přejděte do Settings → Updates → Lab a povolte Junction Relations
- Povolte Advanced mode: Zapněte Advanced mode vpravo dole na postranním panelu Settings
- Naplánujte svůj datový model:
- Které dva objekty propojujete?
- Jak by se měl jmenovat spojovací objekt?
Krok 1: Vytvořte spojovací objekt
Nejprve vytvořte mezilehlý objekt, který bude uchovávat propojení.- Přejděte do Nastavení → Datový model
- Klikněte na + New object
- Pojmenujte jej výstižně (např. “Project Assignment”, “Team Member”, “Product Order”)
- Klikněte na Uložit
Krok 2: Vytvořte vztahy ze spojovacího objektu
Přidejte relační pole ze spojovacího objektu do obou objektů, které chcete propojit.První vztah (Junction → Objekt A)
- Vyberte svůj spojovací objekt v Settings → Data Model
- Klikněte na + Add Field
- Zvolte Relation jako typ pole
- Vyberte první objekt (např. “People”)
- Nastavte typ vztahu na Many-to-One (mnoho přiřazení může odkazovat na jednu osobu)
- Pojmenujte pole:
- Pole na spojovacím objektu: např. “Person”
- Pole na People: např. “Project Assignments”
- Klikněte na Uložit
Druhý vztah (Junction → Objekt B)
- Stále na spojovacím objektu klikněte na + Add Field
- Zvolte Relation jako typ pole
- Vyberte druhý objekt (např. “Projects”)
- Nastavte typ vztahu na Many-to-One
- Pojmenujte pole:
- Pole na spojovacím objektu: např. “Project”
- Pole na Projects: např. “Team Members”
- Klikněte na Uložit
Krok 3: Nakonfigurujte zobrazení vztahu přes spojovací objekt
Nyní nakonfigurujte zdrojové objekty tak, aby zobrazovaly propojené záznamy přímo a přeskočily mezilehlý spojovací objekt.- Přejděte do Nastavení → Datový model
- Vyberte první objekt (např. “People”)
- Najděte relační pole směřující na spojovací objekt (např. “Project Assignments”)
- Klikněte pro úpravu pole
- Povolte “This is a relation to a Junction Object”
- Vyberte Target relation (např. “Project” — pole na spojovacím objektu, které ukazuje na druhou stranu)
- Klikněte na Uložit
- Vyberte “Projects” v Data Model
- Upravte relační pole “Team Members”
- Povolte přepínač pro vztah přes spojovací objekt
- Vyberte “Person” jako cílový vztah
- Uložit
Výsledek
Po konfiguraci:- Na záznamu Person pole “Project Assignments” zobrazuje přímo Projects (nikoli záznamy přiřazení)
- Na záznamu Project pole “Team Members” zobrazuje přímo People
Příklad: Lidé ↔ Projekty
Zde je kompletní postup:Vytvořte spojovací objekt
- Název: Project Assignment
- Popis: “Propojuje lidi s projekty, na kterých pracují”
Přidejte vztahy
-
Project Assignment → People
- Typ: Many-to-One
- Pole na Assignment: “Person”
- Pole na People: “Project Assignments”
-
Project Assignment → Projects
- Typ: Many-to-One
- Pole na Assignment: “Project”
- Pole na Projects: “Team Members”
Nakonfigurujte zobrazení spojovacího objektu
-
Na objektu People:
- Upravte pole “Project Assignments”
- Povolte přepínač pro vztah přes spojovací objekt
- Cíl: “Project”
-
Na objektu Projects:
- Upravte pole “Team Members”
- Povolte přepínač pro vztah přes spojovací objekt
- Cíl: “Person”
Použití
- Otevřete záznam osoby → Uvidíte její projekty přímo
- Otevřete záznam projektu → Uvidíte členy týmu přímo
- Vytvářejte nová propojení z obou stran
Přidávání doplňkových dat do propojení
Protože spojovací objekt je skutečný objekt, můžete přidat vlastní pole k ukládání informací o vztahu:- Role: “Developer”, “Designer”, “Manager”
- Start Date: Kdy se k projektu připojili
- Hours Allocated: Týdenní počet hodin na tomto projektu
Omezení
- CSV Import/Export: Přímý import vztahů mnoho-na-mnoho není podporován. Místo toho importujte záznamy do spojovacího objektu.
- Filters: Filtrování podle vztahů mnoho-na-mnoho může mít omezené možnosti.
Související
- Relační pole — vysvětlení typů vztahů
- Vytváření vlastních objektů — jak vytvářet objekty
- Vytváření relačních polí — základní nastavení vztahů