PWA2: P09 - Práca s pivotnými tabuľkami
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Prednáška vysvetľuje teóriu a praktickú implementáciu pivotných (prepojovacích) tabuliek v Laraveli pre vzťah many-to-many medzi dvomi tabuľkami, na príklade užívateľov a ich pracovných pozícií. Popisuje sa naming convention pivotnej tabuľky (singulárny názov zložený z názvov oboch tabuliek v abecednom poradí), nutnosť manuálneho vytvorenia migrácie s cudzími kľúčmi a absenciu vlastného modelu aj ID stĺpca pre pivotnú tabuľku. Ďalej sa preberá tvorba testovacích dát pre pivotnú tabuľku, kde kvôli chýbajúcemu modelu nie je možné použiť factory a je nutné seeder vytvoriť manuálne.
- - Pivotná (junction) tabuľka rieši vzťah many-to-many medzi dvoma tabuľkami, napríklad users a positions.
- - Naming convention: názov pivotnej tabuľky je singulárny a vzniká spojením názvov oboch tabuliek v abecednom poradí (napr. position_user).
- - Pivotná tabuľka sa musí vytvoriť manuálne cez make:migration, Laravel na ňu nemá automatizovaný generátor ako make:model.
- - V migrácii sa používajú foreignId, ktoré sa vďaka správnemu naming convention automaticky napárujú na existujúce tabuľky, pivotná tabuľka nemá vlastný ID stĺpec.
- - Tabuľky, ktoré sa majú prepojiť (napr. positions a users), musia existovať a byť naplnené dátami skôr, než sa vytvára pivotná tabuľka.
- - Keďže pivotná tabuľka nemá vlastný model, nie je možné použiť factory, testovacie dáta treba vložiť manuálnym seederom s náhodným generovaním kombinácií ID.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky