Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zend// Zapytanie left join, paginacja.
cykcykacz
post
Post #1





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Witam,
mam taki kod paginacji:
  1. $ankietyModel = new Admin_Ankiety();
  2. $select = $ankietyModel->select();
  3. $select->order('id DESC');
  4.  
  5. $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($select));
  6. $paginator->setItemCountPerPage('10')
  7. ->setCurrentPageNumber($this->_getParam('page', 1));
  8.  
  9. $this->view->paginator = $paginator;

Wyświetla mi ładnie listę id.

Nie wiem jak dodać zapytanie:

  1. SELECT ankiety.id, user.use_name, user.use_email
  2. FROM ankiety
  3. LEFT JOIN user ON ankiety.use_id = user.use_id
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
negusik
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 30.01.2010

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


1. Czemu twój model ma nazwę klasy "Admin_Ankiety" a nie "Admin_Model_Ankiety" ? Oczywiście jeśli Admin_ to namespace modułu admin.

Może dodaj do modelu funkcje - będzie łatwiej i ładniej:
Kod
    public function pobierzAnkiety() {
        $select = $this->getAdapter()->select();
        $select->from($this->_name, array($this->_name . '.id'))
                ->order($this->_name . '.id DESC');
                ->joinLeft('user', $this->_name . '.use_id = user.use_id', array('user.use_name', 'user.use_email'));

        $query = $this->getAdapter()->query($select);
        $query->setFetchMode(Zend_Db::FETCH_OBJ);

        return $query->fetchAll();
    }


Oczywiście
Kod
$this->_name = 'ankiety'


I teraz coś takiego
Zamiast:
Kod
$select = $ankietyModel->select();
        $select->order('id DESC');


Kod
$select = $ankietyModel->pobierzAnkiety();


[/code]
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: 4.10.2025 - 02:05