Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][Propel] joiny i warunki
AxZx
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


witam

dlaczego propel dokleja warunek gdy chce zlaczyc inna tabele?

przyklad:
  1. <?php
  2. $c = new Criteria();
  3. $c->addJoin(ProfilPeer::IDWOJ, WojewodztwoPeer::IDWOJ, Criteria::LEFT_JOIN);
  4. $profils = ProfilPeer::doSelectJoinAll();
  5. ?>


zapytanie jakie generuje:
  1. LEFT JOIN wojewodztwo ON (profil.IDWOJ=wojewodztwo.IDWOJ) WHERE profil.IDWOJ=wojewodztwo.IDWOJ


dlaczego tak sie dzieje? to wiele spraw utrudnia.
jak temu zaradzic? jak tego lepiej uzywac?


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Ten dodatkowy warunek jest zapewne wynikiem wywołania metody doSelectJoinAll(). Ona sama w sobie dołącza wszystkie powiązane rekordy. Albo więc zrezgynuj z własnego JOINa, albo po prostu użyj doSelect().
Go to the top of the page
+Quote Post
AxZx
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


okej, zrobilem wiec laczenie za pomoca $c->addJoin(), a wyniki pobieram za pomoca metody doSelect.
ale nie ma w zapytaniu po select zadnej kolumny z tabeli wojewodztwo.
doSelectAll powodowal to ze mialem te kolumny.
teraz jest wykonywane dodatkowe zapytanie ktore pobierane wojewodztwo o ID takim jak w profil.

co teraz?
(jak dla mnie ten propel jest chory)


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Przecież ci napisałem: wywal JOINa:
  1. <?php
  2. $profils = ProfilPeer::doSelectJoinAll(new Criteria());
  3. ?>


Cytat(AxZx @ 17.08.2008, 22:22:21 ) *
(jak dla mnie ten propel jest chory)

Jak dla mnie też. Do tego cholernie niewydajny.

Ten post edytował phpion 17.08.2008, 21:27:57
Go to the top of the page
+Quote Post
AxZx
post
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


napisales albo zrezygnuj z wlasnego joina albo z doselectjoinall.
smile.gif

czyli mam uzyc doselectJoinAll
no okej, ale tak jak pisalem jest w warunku profil.IDWOJ=wojewodztwo.IDWOJ
i pytalem czy da sie tego pozbyc bo mi troche to przeszkadza;)


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:34