Cytat(destroyerr @ 21.03.2012, 20:40:08 )

To jest akurat jedno z najgorszych rozwiązań: zapytanie w kontrolerze w dodatku w pętli i do tego jeszcze polskie nazewnictwo wymieszane z angielskim.
Akurat jedyne działające, podobnie jak to - update z joinem w DQL, nie mam dostępu do id_kategorii w ZdjeciaEntity więc żeby zrobić update muszę użyć joina, ale co fajniejsze to zapytanie nie działa (nikt na google groups doctrine nie wiedział i na forum symfony również co jest nie tak):
$this->getEntityManager()
->createQuery('UPDATE AcmeStronaBundle:ZdjeciaEntity z
JOIN z.kategoria k
SET z.glowneZdjecie = false
WHERE k.id = :idKategorii')
->setParameter('idKategorii', 5)
->execute();
Rozwiązałem więc to tak - zrobić najpierw selecta, a potem update:
$zdjeciaGlowneKategorii = $this->getEntityManager()
->createQuery('SELECT z FROM AcmeStronaBundle:ZdjeciaEntity z
JOIN z.kategoria k
WHERE k.id = :idKategorii AND z.glowneKategorii = true')
->setParameter('idKategorii', $idKategorii)
->getResult();
foreach($zdjeciaGlowneKategorii as $zdjecieGlowneKategorii)
{
$this->getEntityManager()
->createQuery('UPDATE AcmeStronaBundle:ZdjeciaEntity z SET z.glowneKategorii = false')
->execute();
}
Ah jakie to Symfony 2 jest cudowne, tyle rzeczy trzeba robić naookoło.

A co do mieszania polskiego z angielskim, zawsze tak robię jak uczę się nowych technologii, robię to od momentu jak kiedyś uczyłem się WinAPI - wówczas pisałem wszystko po angielsku, a jak wróciłem do kodu po miesiącu to nie wiedziałem już co jest mego autorstwa a co było częścią WinAPI. Może to i głupie oraz nieeleganckie, ale potem przynajmniej wiem i nie muszę szukać czy daną metodę napisałem ja czy jest częścią danej technologii. Takie postępowanie wielokrotnie zaoszczędziło mi sporo czasu. Gdy tylko dochodzę do wniosku, że znam już w miarę dobrze daną technologię to przestawiam się na angielski.