Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Kohana] paginacja [solved]
nmts
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

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


Chcę paginację komentarzy.
Kontroler wygląda tak:

  1. function action_pokaz_nowosc($id,$title = null,$page = 1){
  2.  
  3. $this->template->content = new View("nowosc");
  4.  
  5. $publication = ORM::factory("publication",$id);
  6. $this->template->content->publication = $publication;
  7.  
  8. //echo ORM::factory("comment")->where("publication_id","=",$id)->count_all();
  9.  
  10. $this->pagination = new Pagination(
  11. array('uri_segment' => "page",
  12. 'total_items' => 9, //ORM::factory("comment")->where("publication_id","=",$id)->count_all(),
  13. 'items_per_page' => 5));
  14.  
  15. $this->template->content->paginacja = $this->pagination;


Jak można się domyślić występuje relacja publication - comments.
W modelu ustawiam limit i offset dla komentarzy w taki sposób:

  1. public function __construct() {
  2. parent::__construct();
  3. $this->limit(5);
  4. if(Request::instance()->param('page')) // jesli jest podstrona komentarzy to
  5. $this->offset((Request::instance()->param('page')-1)*5); // obliczam offset
  6. }


I wszystko jest dobrze, ale teraz nie mogę zliczyć wszystkich komentarzy za pomocą ORM. Pozostaje je zliczyć bez ORM w dodatku pobieranie w kontrolerze jest złe, czy jest inne wyjście? Można ustalać limit i offset przy pobieraniu komentarzy (ORM::factory), ale tutaj pobieram publikacje, a komentarze są automatycznie dołączane, chyba, że mogę jakoś to ustalić aby pozbyć się sztywnego ustalania w modelu(np. przy relacji w modelu publications), ale nic takiego nie znalazłem.

Ten post edytował nmts 23.06.2010, 21:13:23
Go to the top of the page
+Quote Post
oidnus
post
Post #2





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

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


Nie wiem czy dobrze zrozumiałem o co ci chodzi ale limit paginacji ustawia się w pliku konfiguracyjnym http://kerkness.ca/wiki/doku.php?id=how_to...gination_module zakładka "Using Configuration File"

Go to the top of the page
+Quote Post
nmts
post
Post #3





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

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


Problem był dość błahy, znalazłem rozwiązanie, którego szukałem. Wystarczyło zrobić:

  1. $publication->comments->limit(5)->offset($offset)->find_all()


http://forum.kohanaframework.org/comments....3697&page=1

Ten post edytował nmts 23.06.2010, 21:07:27
Go to the top of the page
+Quote Post

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: 24.12.2025 - 04:54