Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] DB class 2 tabele sortowanie
Zbawca
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.08.2003
Skąd: Częstochowa

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


Witam

Przykładowo mam 2 tabele:
tabela1
-id
-name
-rodzic_id

tabela2
-id
-name_rodzic

mam pytanko jak stworzyć klasę tak aby pobierała dane z 2 tabel i można było sortować po obu tabelach jednocześnie używając

  1. <?php
  2. Zend_Loader::loadClass('Test');
  3. $test = new Test();
  4. $this->view->dane = $test->fetchAll(NULL,$sort);
  5. ?>


wiem jak to zrobić w formie zapytania
  1. <?php
  2. $select = $db->select()->from(arry('t1' =>'tabela1'), array('t1.name', 't1.id', 't1.rodz_id', 't2.name_rodzic'))
  3. ->join(array('t2' => 'tabela2'), 't1.rodzic_id = t2.id')
  4. ->order($sort);
  5. $this->view->dane = $select->query()->fetchAll();
  6. ?>

ale chciałbym to zrobić w klasie

bardzo proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sabistik
post
Post #2


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Po pierwsze cała Twoja logika jest błędna. Przecież Ty masz tam relacje między tabelami, wiec co Ty chcesz sortować po kolumnie z drugiej tabeli? Może powiedz co chcesz uzyskać... Poza tym fetxhAll() służy do uzyskiwania danych ze zdefiniowanej tabeli a nie jej relacji.

Jeśli chcesz takie zapytanie jak podałeś w pierwszym poście w select() to tu relacje nie maja nic wspólnego. Najlepiej stworzyć sobie dodatkowa metode i w niej tworzyć podane zapytanie - taki sposób jest najefektywniejszy.
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: 13.10.2025 - 13:17