nextras/orm M:M – Self-referencing 2× v jedné tabulce
- TOMeek
- Člen | 64
Zdravím,
mám dotaz ohledně nextras/orm. Mám produkt a potřebuji udělat seznam
podobných produktů. Je mi jasné jak se to dělá, pokud potřebuji toto
udělat jen jednou, ale potřebuji ještě související produkty, ale orm mi
stále nutí tabulku items_x_items ale tu již mám použitou pro podobné
produkty.
- Barbarossa
- Člen | 74
Zdar,
buď konkrétnější = kódy entit, mapper – tabulky. Popravdě ani nechápu tvůj dotaz:
potřebuji udělat seznam podobných produktů. Je mi jasné jak se to dělá, pokud potřebuji toto udělat jen jednou, ale potřebuji ještě související produkt
- TOMeek
- Člen | 64
@Barbarossa Ahoj, pokusim se vysvetlit lepe. V Item entite mam něco takoveho:
...
* @property ManyHasMany|Item[] $itemsRelated {m:m Item::$related, isMain=true}
* @property ManyHasMany|Item[] $related {m:m Item::$itemsRelated}
...
To mam propojene v tabulce items_x_items. Potřeboval bych ale ještě doplnit např.
...
* @property ManyHasMany|Item[] $itemsAlike {m:m Item::$aliked, isMain=true}
* @property ManyHasMany|Item[] $aliked {m:m Item::$itemsAlike}
...
Ale to mě zase nutí udělat items_x_items, které už mám zabrané souvisejícími produkty. Zkousel jsem do taulky napsat vsechny sloupce, ale s tím jsem nepochodil. Take jsem se v dokumkentaci nedocetl, jestli to jde resit.
Jinak Mapper i Repository mam vychozi bez uprav.
- Barbarossa
- Člen | 74
@TOMeek Ahoj, vyřešil bych to přidáním další tabulky a udělal si na ni vlastní vazbu. Tj budeš potřebovat i entitu, která je mezi Item a Item. Není to tak krásné řešení, ale v budoucnu můžeš pracovat třeba i s pořadím těch produktů nebo je různě podbarvovat pro specifický výpis apod.
- hrach
- Člen | 1838
@TOMeek musis si v mapperu podedit metodu a forcnout nazvy
tabulek:
https://nextras.org/…/conventions#… (example
uplne dole)
Editoval hrach (7. 1. 2019 17:24)