Python týden Vánoční slevy
Veselé vánoce! Využijte naší akce a získejte až 60 % bodů navíc zdarma Zároveň také probíhá Python týden se slevou na e-learning až 80 %
Další šance dokončit svůj projekt a získat ceny v hodnotě 10.000 Kč! Pokračování úspěšné letní soutěže - ITnetwork winter

Diskuze: Evidence kategorií daného záznamu

Aktivity (1)
Avatar
Michal Kuba
Redaktor
Avatar
Michal Kuba:22. června 17:45

Ahoj,

řeším takovou delikátní věc a zajímaly by mě vaše názory.

Dejme tomu, že mám databázi produktů a každý jeden produkt může mít X kategorií - kategorie mají vlastní tabulku. Potom je párovací tabulka, kde se eviduje ID produktu a ID kategorie, tedy product_has_ca­tegory.

Kategorie jsou v multiselectu při editaci či přidávání produktu.

Pokud produkt přidávám, tak je jasný, že potom iteruji nad vybranými kategoriemi a vložím vždy do párovací tabulky ID produktu a kategorie.

Ale co když produkt edituji a měním i kategorie? Co je nejefektivnější způsob?
Respektive dá se s klidným svědomím použít to, že při editaci produktu vždy nejprve vymažu z párovací tabulky všechny záznamy s daným ID produktu a následně opět iterací nad kategoriemi z multiselectu vytvořím záznamy kde páruji ID produktu a kategorie?

Předem díky! :)

 
Odpovědět
22. června 17:45
Avatar
Lu Kiss
Člen
Avatar
Odpovídá na Michal Kuba
Lu Kiss:22. června 18:09

Dělal bych to jak píšeš, při ukládání vymazat z tabulky product_has_ca­tegory záznamy pro daný produkt a poté přidat záznamy o kategoriích které byly v tom multiselectu.
edit: omylem jsem ti dal palec dolů :(

Editováno 22. června 18:10
 
Nahoru Odpovědět
22. června 18:09
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Michal Kuba
Martin Konečný (pavelco1998):22. června 18:14

Ahoj,

pokud na té tabulce 'product_has_ca­tegory' nezávisí něco jiného (např. trigger ON DELETE, nebo tam není nějaký cizí klíč apod.), tak je to asi v pořádku. Jedině si budeš plácat čísla pro ID v auto increment :D
Samozřejmě pod podmínkou, že ta celá operace proběhne v transakci.

Nahoru Odpovědět
22. června 18:14
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.