Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Pobieranie danych z kilku tabel
spokz
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 1.01.2007

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


Witam.

W jaki sposób pobrać dane z kilku tabel za pomocą jednego zapytania w Zendzie?

W tej chwili mam dwie tabele: produkty i dostępność. W tabeli dostępność są różne rodzaje dostępności np. na magazynie, na zamówienie itp. W tabeli produkty jest kolumna dostępność_id, dzięki której każdy produkt ma przypisaną dostępność.
Tylko nie wiem w jaki sposób zrobić zapytanie, które zrobi mi join'a łaczącego te tabele. I nie chodzi o treść zapytania gdyż myślę, że poniższe jest dobrze wpisane w kontroler:

  1. $select = $produkty->select();
  2. $select->from(array('p' => 'produkty', 'd' => 'dotepnosc'), array('p.id','p.nazwa','p.model','p.cena','p.opis', 'c.nazwa'));
  3. $select->join(array('d'),'p.dostepnosc_id = d.id');
  4.  
  5. $this->view->produkty = $produkty->fetchProducts();
  6.  

tylko chodzi o wyznaczanie tabel, z których framework ma pobierać dane, gdyż w tej chwili pobiera tylko z tabeli wpisane w modelu "Products":
  1. protected $_name = 'cs_products';


a nie z $selecta którego opisałem powyżej.
I mam ten problem w każdym przypadku, nie mówiąc o przypadkach kiedy będę chciał pobrać dane z więcej niż 2 tabel.

Bardzo proszę o pomoc, gdyż jestem początkujący w Zendzie i php ogólnie i nie mogę sobie sam poradzić z tym problemem.

Ten post edytował spokz 7.04.2010, 19:09:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
spokz
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 1.01.2007

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


Dobra rzecz, ale jeśli w tabeli produkty mam oprócz dostępności jeszcze inne kolumny będące kluczami obcymi dla innych tabel np. marka, gwarancja to czy to będzie tak samo wydajne? Poza tym nigdy wcześniej nie bawiłem się Enumami.

Btw. używam Postgresa.
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: 10.10.2025 - 12:59