Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [symfony][propel] join, nie che pobrać kolumn z dołączonych tabel
wafcio
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.07.2010

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


Mam zapytanie SQL z JOINem:
  1. SELECT ... FROM `teachers` JOIN `teacherCategories` ON `teachers`.`categoryId` = `teachersCategories`.`id`


chciałem to zakodować w symfony, propelu i wyszło coś takiego:
  1. $c = new Criteria();
  2. $c->addJoin(TeachersPeer::CATEGORYID, TeacherCategoriesPeer::ID, CRITERIA::INNER_JOIN)
  3. $content = TeachersPeer::doSelect($c)


jest jednak problem, bowiem nie zwraca mi wartości pól z dołączonej tabeli, w internecie znalazłem trzy rozwiązania:
1. dopisanie własnych kilkunastu/kilkudziesięciu linijek kodu (to pominołem)
2. użycie klasy sfPropelCustomJoinHelper, tylko nie wiem gdzie wstawić plik php, żeby klasa się automatycznie ładowała
3. doSelect zamienić na doSelectJoinAll, ale to mi zgłasza, że nie znaleziono tabeli/aliasu teacherCategories

Chciałem powiedzieć, że nie jestem doświadczonym programistom w propelu, szukałem kilka dni jak rozwiązać ten problem, ale nic mnie nie nakierowało na poprawne, działające rozwiązanie. Byłbym bardzo wdzięczny za pomoc.

Ten post edytował wafcio 5.08.2010, 21:53:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arecki
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


Może w schema.yml nie masz zdefiniowanych relacji odpowiednich ? Ewentualnie napisz jak się dostajesz do pól z tabeli TeachersCategories bo powinno być coś takiego:

  1. // obiekt Teachers
  2. echo $teacher->getTeacherCategoriess()->getPole();


Ten post edytował arecki 6.08.2010, 08:36:34
Go to the top of the page
+Quote Post
wafcio
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.07.2010

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


Cytat(arecki @ 6.08.2010, 09:35:01 ) *
Może w schema.yml nie masz zdefiniowanych relacji odpowiednich ? Ewentualnie napisz jak się dostajesz do pól z tabeli TeachersCategories bo powinno być coś takiego:

  1. // obiekt Teachers
  2. echo $teacher->getTeacherCategoriess()->getPole();


1. W schema.yml mam ustawione klucze obce w odpowiednich miejscach
2. Co do pól z TeachersCategories to przecież napisałem wyżej, że po wykonaniu zapytania nie są zwracane, wykonuje funkcję print_r, aby sprawdzić co zmienna ma, i nie ma tych pól.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 01:44