Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Zend framework] baza danych, Własne zapytania do bazy danych.
orideith
post 1.12.2006, 11:42:37
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 21.07.2006

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


Witam Wszystkich mam takie problem, używając Zend FR korzystam z różnych zapytań do bazy większość jest w w Manualu ale niestety pojawia się problem ponieważ nie wiem jak robić bardziej skomplikowane zapytania. Nie jestem w stanie określić jakie na tą chwilę ale mam duzy dosyć projekt przed sobą i nie chce sie obudzić z rekami wiadomo w czym. Najlepiej jak by to było coś w stylu (hipotetycznie)
////
  1. <?php
  2. $db->zapytanie(' jakas tresc SELECT lub np INSERT ');
  3. $wynik->fetchAll();
  4. ?>

////
Czy to w ogóle jest możliwe ?.

Druga sprawa to model. Mam taki kod w modelu
  1. <?php
  2. class wiadomosci extends Zend_Db_Table{
  3. }
  4. }
  5. ?>


wiadomosci jest nazwa tabeli czyli tworze sobie obiekt tabeli
  1. <?php
  2. $tabelka = new wiadomosci(); // jeżeli dobrze myśle
  3. $tabelka->jakies_metody();
  4. ?>


I teraz pytanie troche związane z pierwszym jak wyciągnąć parametry z $tabelka np nazwa jakiejś kolumny albo jak stworzyć jakieś własne zapytanie z poza metod Zend_DB_table.


Mam nadzieje, że za bardzo nie namieszałem.

Pozdrawiam.


--------------------
projektowanie stron warszawa ::: projektowanie www ::: projekty www
Go to the top of the page
+Quote Post
Sabistik
post 1.12.2006, 13:44:01
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%)
-----


Wybacz ale wszystko o czym mówisz jest opisane w manualu.

1) Oczywiście ze jest możliwe. Możesz pisać własne zapytania albo korzystać z pomocniczej klasy Zend_Db_Select

2) Wszystko masz opisane: http://framework.zend.com/manual/en/zend.db.table.html
Go to the top of the page
+Quote Post
nospor
post 1.12.2006, 13:53:17
Post #3





Grupa: Moderatorzy
Postów: 36 467
Pomógł: 6299
Dołączył: 27.12.2004




Przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
orideith
post 1.12.2006, 20:45:55
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 21.07.2006

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


Dobra to Powiedzcie mi jak zrobic takie zapytanie, dwie tabelki
tabelka menu -> id_menu, id_sekcji, kolor, kolejnosc, nazwa_menu
tabelka sekcje-> id_sekcji, nazwa_sekcji
I teraz chce stworzyć takie zapytanie.

SELECT menu.*, sekcje.nazwa_sekcji FROM menu INNER JOIN menu.id_sekcji = sekcje.id_sekcji WHERE sekcje.nazwa_sekcji = "jakas tam nazwa"

Mówiąc wprost chce wybrać z dwóch tabelek nazwe menu i nazwe sekcji do ktorej jest to menu przypisane relacja jeden rekord menu wiele lub jeden rekord / ów sekcji.

Jak to zrobić bez tego zendowego JOIN questionmark.gif? chodzi mi jak to całe zapytanie "wsadzić" do takiego np mysql_query("zapytanie");

Pozdrawiam i czekam na wszelką pomoc.


--------------------
projektowanie stron warszawa ::: projektowanie www ::: projekty www
Go to the top of the page
+Quote Post
Astarot
post 1.12.2006, 21:07:15
Post #5





Grupa: Zarejestrowani
Postów: 90
Pomógł: 4
Dołączył: 5.02.2006

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


http://framework.zend.com/manual/pl/zend.d...adapter.queries


--------------------
torrenty
Go to the top of the page
+Quote Post
Sabistik
post 1.12.2006, 21:15:29
Post #6


Administrator wortalu


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

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


Cytat
Jak to zrobić bez tego zendowego JOIN questionmark.gif?

.. To po co używasz zf skoro nie chcesz wykorzystywać jego funkcjonalności ?
  1. <?php
  2. $db = Zend_Db::factory('PDO_MYSQL', $params);
  3. $res = $db->fetchAll($sql);
  4. ?>



A tak to powinno wyglądać 'prawidłowo' (pisane z palca, może są jakieś drobne błędy)
  1. <?php
  2. $select = $db->select();
  3. $select->from('menu', 'menu.*');
  4. $select->joinInner('sekcje', 'menu.id_sekcji=sekcje.id_sekcji', 'sekcje.nazwa_sekcji');
  5. $select->where('sekcje.nazwa_sekcji = ?', $jakasTamNazwa);
  6.  
  7. $sql = $select->__toString();
  8. ?>
Go to the top of the page
+Quote Post
orideith
post 1.12.2006, 21:20:55
Post #7





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 21.07.2006

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


. To po co używasz zf skoro nie chcesz wykorzystywać jego funkcjonalności ?

Zle to odbierasz korzystam z jego funkcjonalnosci ale nie wiedziałem jak złożyć zapytanie do tego co podałem. Więc wymyśliłem coś w stylu bezpośredniego zapytania.
wszystkie skrypty zwiazane z baza opierają sie na modelach i dobrze mi sie z tym pracuje ale na to nie znałem odpowiedzi.

Jeszcze raz dzieki, mam nadzieje że w tej materi (db) więcej pytań nie będę miał.

Pozdrawiam i dzieki za poświecomi mi czas.


--------------------
projektowanie stron warszawa ::: projektowanie www ::: projekty www
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 Wersja Lo-Fi Aktualny czas: 10.05.2024 - 02:46