Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]Problem z relacjami
Forum PHP.pl > Forum > PHP > Frameworki
sweter
Witam,
uczę się obsługi relacji w ZF i mam takie tabele:

a tak wyglądają modele:
  1. class Autor extends Zend_Db_Table_Abstract{
  2. protected $_name = 'autor';
  3. protected $_primary = 'id';
  4. }
  5. class Artykul extends Zend_Db_Table_Abstract{
  6. protected $_name = 'artykul';
  7. protected $_primary = 'id';
  8. }
  9. class Art_autor extends Zend_Db_Table_Abstract{
  10. protected $_name = 'art_autor';
  11. protected $_referenceMap = array(
  12. 'Autor' => array(
  13. 'columns' => array('id_autora'),
  14. 'refTableClass' => 'Autor',
  15. 'refColumns' => array('id')
  16. ),
  17. 'Artykul' => array(
  18. 'columns' => array('id_art'),
  19. 'refTableClass' => 'Artykul',
  20. 'refColumns' => array('id')
  21. )
  22. );
  23. }

W kontrolerze mam taki kod:
  1. $art_autor = new Art_autor();
  2. print_r($art_autor->fetchAll("1=1")->toArray());

jednak wyświetla mi on tylko
Cytat
Array
(
[0] => Array
(
[id] => 1
[id_autora] => 1
[id_art] => 1
)
)

Co zrobić, żeby pobrać rekordy ze wszystkich tabel?
Jestem początkujący, więc proszę o wyrozumiałość smile.gif

Pozdrawiam smile.gif
zend
Wszystko jest w dokumentacji Zend_Db_Table relationship, Zend_Db_Table_Select joins
Pilsener
A masz jakieś pojęcie o OOP i MVC? W modelu masz utworzyć metodę pobierającą dane, przykład:
  1. public function getAllData(){
  2. $select = $this->select();
  3. $select->setIntegrityCheck(false);
  4. $select->joinLeft(array('u' => 'users'),'article.user=u.id');
  5. $select->where('status<>?',0);
  6. $select->order('id DESC');
  7. return $this->fetchAll($select);
  8. }


Użycie:
  1. $model = new Model_Articles();
  2. $dane = $model->getAllData();


Korzystaj z dokumentacji, krok po kroku wszystko pisze.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.