Vlastní ORM vstah 1:N (získání pod entit v hlavní entitě)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Kaiz
Člen | 25
+
0
-

Dobrý den,

chtěl bych se zeptat jenom na takový náčrt jak by jste řešili následující situaci.
Zkouším si napsat vlastní micro ORM a přitom se učit nette (proto nechci použít doctrine 2).

Vycházím z tohohle návodu a rád bych to dělal přes DI (dodávat mappery do repository). Jenomže přijde situace kdy entita má vícero pod entit
Například košík má víc zboží a chtěl bych mít něco ve stylu $kosik->getProducts() a vrátilo by mi to pole entit Product.

Jenomže v modelu nemám $context abych si mohl žáhnout pro repository a nechci si to vytvářet sám, protože co když ten prvotní mapper budu tahat ze souboru a v getterech na jiný entity budu mít napevno zadrátovaný mapper s DB.

Napadají mě 2 kompromisy

  1. Vykašlat se na DI a používat jenom DatabaseMapper s jedním připojením
  2. Mít u obráceně tu psychologii, u ProductMapper mít getItemsForBasket(Basket $kosik);

Děkuji moc za jakoukoliv pěknou radu

Editoval Kaiz (12. 11. 2012 5:41)

enumag
Člen | 2118
+
0
-

TL;DR

Po přečtení prvních dvou odstavců mám pocit, že hledáš tohle.