nextras/orm M:M – Self-referencing 2× v jedné tabulce

TOMeek
Člen | 64
+
0
-

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
+
0
-

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
+
0
-

@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
+
0
-

@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
+
+1
-

@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)

TOMeek
Člen | 64
+
0
-

@hrach Super díky, už to frčí