Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Zapytania z do kilku tabel
johnyMajster
post
Post #1





Grupa: Zarejestrowani
Postów: 151
Pomógł: 2
Dołączył: 2.08.2012
Skąd: Wrocław

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


Witam serdecznie

W ZF mamy takie cos Zend_Db_Table_Abstract z czego dziedziczą wszystkie tabele bazy danych.

Tego używamy jezeli robimy zapytanie do konkretnej tabeli. A co jesli chce zrobic zapytanie do całej bazy np join??
Spotkałem sie z czyms takim ze nie mogę zrobic zapytanie select z join jezeli nie podam dodatkowej konfiguracji np
  1. $konfiguracja = array(
  2. 'host' => 'localhost',
  3. 'username' => 'redaktor',
  4. 'password' => 'haslo',
  5. 'dbname' => 'strona',
  6. 'charset' => 'utf8'
  7. );
  8. $db = Zend_Db::factory('pdo_mysql', $konfiguracja);
  9. $select = $db->select()
  10. ->from()
  11. ->where()
  12. ->joinInner()
  13. ->joinLeft()
  14.  


Innymi słowy w jakiej klasie trzeba pisac takie zapytania bo normalnie używam klas tylko dla tabel a takie zapytania dotyczą całej bazy i wymagają dodatkowej konfiguracji mimo iż jest ona zdefiniowana w application.ini?(IMG:style_emoticons/default/questionmark.gif) ?

Ten post edytował johnyMajster 10.08.2012, 15:40:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ShadowD
post
Post #2





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


  1. <?php
  2.  
  3. class Ss_Models_Authorization extends Zend_Db_Table_Abstract
  4. {
  5. protected $_name = 'authorization';
  6.  
  7. public function getAll()
  8. {
  9. $select = $this->select()
  10. ->setIntegrityCheck(false)
  11. ->from('authorization',array('id', 'name', 'label', 'description'))
  12. ->joinLeft('authorizationGrup', 'authorization.grupId = authorizationGrup.id', array('grupId'=>'id', 'grupName'=>'name', 'grupLabel'=>'label', 'grupDescription'=>'description'))
  13. ->order('authorizationGrup.id');
  14.  
  15. $data = $this->fetchAll($select)->toArray();
  16.  
  17. if(!empty($data)) {
  18. foreach($data as $row) {
  19. $return[$row['grupId']]['name'] = $row['grupName'];
  20. $return[$row['grupId']]['label'] = $row['grupLabel'];
  21. $return[$row['grupId']]['description'] = $row['grupDescription'];
  22. $return[$row['grupId']]['elements'][$row['id']]['name'] = $row['name'];
  23. $return[$row['grupId']]['elements'][$row['id']]['label'] = $row['label'];
  24. $return[$row['grupId']]['elements'][$row['id']]['description'] = $row['description'];
  25. }
  26. }
  27.  
  28. return $return;
  29. }
  30. }


Przykład pliku modelu, jest strasznie stary jeszcze jak się uczyłem zend'a, ale zamysł ogólny masz jak powinno to wyglądać.
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: 17.10.2025 - 13:10