IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Přiřazení filtrů na ArrayCollection | Doctrine 2

Aktivity
Avatar
Jirka Truhlář:26.6.2017 14:55

Ahojte,
zkouším si napsat jednoduché stránky v nette frameworku za pomocí ORM. Jediné, co by tyto stránky dělali, tak upozorňovaly na něčí narozeniny. Mám 2 entity. User a Person. User má vazbu OneToMany na person, který má atribut birthday. Chci se zeptat, jak byste co nejsnadněji vybrali z $userEntity->persons všechny lidi, kteří mají narozeniny nejblíže. Mě napadlo To napsat přes poddotazy v DQL dotazu, ale příjde mi to moc složité.

 
Odpovědět
26.6.2017 14:55
Avatar
Odpovídá na Jirka Truhlář
Martin Konečný (pavelco1998):26.6.2017 15:02

Ahoj,
pravděpodobně ti pomohou tzv. Criteria:

http://docs.doctrine-project.org/…iations.html#…

Pokud bys to chtěl řešit bez DB dotazů, musel bys tu kolekci $userEntity->persons projet cyklem a z nich posupně posbírat ty lidi, kteří mají narozeniny nejblíže, a vrátit je (ve formě pole / kolekce).

Edit: Pokud tedy chápu správně, že "lidi, kteří mají narozeniny nejblíže" znamená nějaké seřazení podle data narození, přes Criteria můžeš ke kolekcím dávat podmínky, řazení atd.

Editováno 26.6.2017 15:03
Nahoru Odpovědět
26.6.2017 15:02
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
d4rkw34v3r
Tvůrce
Avatar
Odpovídá na Jirka Truhlář
d4rkw34v3r:26.6.2017 15:09

Ahoj, tu vazbu si otoč. Tzn., že nebudeš mít User oneToMany Person, ale Person manyToOne User. Prostě, aby si měl Entitu User jako field v Person. Potom ti pujdou pokládat normálně dotazy a nebudeš muset blbnout s kolekcema.

 
Nahoru Odpovědět
26.6.2017 15:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.