Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] Zend_DB_Table a JOIN i SELECT
G3LO
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.08.2007

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


Witam,

próbuję zrealizować za pomocą Zend_DB_Table następujące zapytanie:
  1. SELECT (jakies dane) FROM tab1 T1 JOIN tab2 T2 ON T1.id = T2.fk1

na framework.zend nic nie zostało na ten temat napisane, w API nie mogę znaleźć żadnej metody którą bym podejrzeał
o łączenie tabel.
rowiązanie
  1. <?php
  2. $items = $tab1->fetchAll ();
  3. foreach ($items as $item)
  4. {
  5. $dep_rows = $tab1->getDepandantRowset ();
  6. ..i zapisz gdzies
  7. }
  8. ?>

nie chcę bo do bazy poleci 50+ zapytań podczas gdy wystarczy 1

drugą kwestią która mnie ciekawi to rzutowanie w zapytaniach za pomocą Zend_DB_Table:
jak zrobić np.
  1. SELECT numer FROM samochody
?
fetch robi zawsze SELECT * - co czasem nie jest za bardzo porządane

prosiłbym uprzejmie o informacje o rozwiązaniach powyższych problemach jeśli ktoś takowe posiada.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wolditm
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 20.07.2005

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


Ostatnio też się bawie Zend_Db, co do joinów to na tym etapie myśle nie pozostaje nic innego jak w danym modelu dopisanie nowej metody np.
  1. <?php
  2. function getArticlesByCo&#347;( $id )
  3. {
  4. $select = $this->getAdapter()->select();
  5. $select->from()->join()
  6. // itd
  7. }
  8. ?>

Co do drugiego problemu to ja zrobiłem coś takiego w Zend_Db_Table:
  1. <?php
  2. function setFieldsToFetch( $fields )
  3. {
  4. $this->_cols = $fields;
  5. return $this;
  6. }
  7. // później robisz
  8. $model->setFieldsToFetch( array( 'id', 'title', 'cos tam jeszcze' )->fetchAll();
  9. ?>

Powyższe rozwiazanie nie jest idealne, ale działa.

Ten post edytował wolditm 13.08.2007, 11:54:21
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: 8.10.2025 - 13:52