DAO objekty a vazby tabulek M:N
- SvvimX
- Člen | 65
Ahoj,
mám pro každou entitu z DB třídu XxxDatabaseDAO. Ale zpusoby plateb a dodavatele maji vazbu M:N.
Pokud chci vypsat vsechny dodavatele vypada kod asi takle:
\CDatabaseDAOFactory:: getInstance () -> getShipperDAO -> getAll ( );
pro platby stejně. A jak teď co nejlépe udělat to, že chci vypsat
všechny dodavatele a jejich platby?
Samozřejmě je tu možnost prasárny typu:
$shippers = \CDatabaseDAOFactory:: getInstance () -> getShipperDAO -> getAll ( );
foreach ( $shippers as $shipper ) {
$payments = \CDatabaseDAOFactory:: getInstance () -> getPaymentDAO -> getAll ( array ( "shipper_id" => $shipper -> id );
}
jde mi o logiku tříd. Mám udělat speciální DAO ShipperPayment které
bude mít přístup k tabulkám shipper, payment a vazební tabulce?
Pak ale zase toto krásné rozčlenění co tabulka to DAO třída, nad ní
nějaký manager nad tím Presenter a nad tím šablony tak nějak bere
za své.
Jak se to dělá správně? :-))
- SvvimX
- Člen | 65
jtousek napsal(a):
Jak se to týká Nette? Ani nepoužíváš Nette\Database. Doporučuji přečíst nějaké teoretické články ohledně správné architektury modelu.
Proč bych nepoužíval Nette\Database? Tu normálně používám. A Nette
se to týká, jelikož Nette je framework s architekturou MVC, takže můj
model je rozdělen na na entity, co tabulka to třída, DAO objekt a
manager.
Odkažte mě na článek ohledně správné architektury modelu?