Tharos / LeanMapper

Lean Mapper is a tiny ORM based on powerful Dibi database abstraction library for PHP.
MIT License
87 stars 35 forks source link

Dotaz: může se entita dostat k repozitáři nebo položit dotaz? #67

Open kahi opened 10 years ago

kahi commented 10 years ago

Nerozumím, jakým způsobem mohu entity naučit pokládat složité dotazy (nevyjádřitelné predefinovanými vazbami jako n:belongsToMany atd.)

Dejme tomu: eshop, produkty + objednávky. Chtěl bych, aby $product entita znala atribut jako počet_prodaných_kusů_produktu_za_3měsícezpět. Což umím napsat do repozitáře (má svůj connection…), ale už ne do entity. (Mít všechny složitější atributy v repozitáři… v tom nevidím logiku.)

Díky!

achtan commented 10 years ago

pouzi na to m:filter() https://github.com/Tharos/LeanMapper/blob/develop/tests/LeanMapper/Entity.filters.phpt https://github.com/Tharos/LeanMapper/blob/develop/tests/LeanMapper/Entity.filtersOverloading.phpt

Tharos commented 10 years ago

S filtry se dá kouzlit. Pro inspiraci bych Tě odkázal třeba na toto zadání, ve kterém vidím jistou paralelu.

Jinak, pár dní už Lean Mapper podporuje to, že si lze při traverzování mezi entitami položit úplně custom dotaz. Akorát jsem se o tom ještě nikde nestihl zmínit :(. Napíšu o tom něco málo v horizontu několika dní.

V naprostě většině případů ale stejně vychází nejvýhodněji upravil si ve filtru dotaz, který už Lean Mapper připravil.

kahi commented 10 years ago

Ahoj, díky. Dá se dnes někde vidět příklad toho traverzování s custom dotazem? On 14 Jun 2014 at 15:47:17, Vojtěch Kohout (notifications@github.com) wrote:

S filtry se dá kouzlit. Pro inspiraci bych Tě odkázal třeba na toto zadání, ve kterém vidím jistou paralelu.

Jinak, pár dní už Lean Mapper podporuje to, že si lze při traverzování mezi entitami položit úplně custom dotaz. Akorát jsem se o tom ještě nikde nestihl zmínit :(. Napíšu o tom něco málo v horizontu několika dní.

V naprostě většině případů ale stejně vychází nejvýhodněji upravil si ve filtru dotaz, který už Lean Mapper připravil.

— Reply to this email directly or view it on GitHub.

Tharos commented 10 years ago

Ahoj,

jednoduchou ukázku s custom dotazem nalezneš zde: https://github.com/Tharos/LeanMapper/issues/65#issuecomment-46099088.