CakePHP pagination
Üdv!
Elkezdtem írni cakePHP segítségével egy hírező rendszert.
Egy hír olvasásánál, kiírja a kommenteket, amelyeket csak 10-esével szeretnék megjeleníteni.
Ez működik is, csak éppen dupla lekérdezés történik.
models/news.phpmodels/comments.phpcontrollers/news_controller.phpEkkor a $news tömb tartalma
News => array(//az adott hír tartalma)
Comments => array(//az összes komment ami ehhez a hírhez tartozik)
$comments tartalma
Comments => array(//az egy oldalra jutó komment)
Kérdésem, hogyan lehetne másképp megoldani, hogy ne legyen benne a $news tömbben az összes komment, mert így körülbelül adtam a sz@rnak egy pofont.
Előre is köszönöm!
Ui: kb 2 napja kezdtem el a cakephp-val foglalkozni, googleben nem találtam rá megoldást, csak ugyen ezt. (Méghozzá itt: http://blog.matsimitsu.nl/code/162/paginating-child-models)
Üdv!
■ Elkezdtem írni cakePHP segítségével egy hírező rendszert.
Egy hír olvasásánál, kiírja a kommenteket, amelyeket csak 10-esével szeretnék megjeleníteni.
Ez működik is, csak éppen dupla lekérdezés történik.
models/news.php
- class News extends AppModel{
- var $name = 'News';
- var $hasMany = array('Comments'=>array('className'=>'Comments')); //comment model megívása
- var $virtualFields = array(
- 'comment_count' => 'SELECT COUNT(*) FROM comments as Comments WHERE News.id=Comments.news_id',
- 'author' => 'SELECT username FROM users as Users WHERE Users.id=News.user_id'
- );
- }
- class Comments extends AppModel {
- var $name = 'Comments';
- var $virtualFields = array(
- 'author' => 'SELECT username FROM users as Users WHERE Users.id=Comments.user_id'
- );
- var $belongsTo = array('News'); //átadom a news modelnek
- }
- ...
- function read($url){
- $this->updateNewsread($url);
- $this->set('news', $this->News->findByUrl($url));
- $this->set('comments', $this->paginate('Comments'));
- }
- private function updateNewsread($url){
- $this->News->query('UPDATE news SET readed=readed+1 WHERE news.url="'.$url.'"');
- }
- ...
News => array(//az adott hír tartalma)
Comments => array(//az összes komment ami ehhez a hírhez tartozik)
$comments tartalma
Comments => array(//az egy oldalra jutó komment)
Kérdésem, hogyan lehetne másképp megoldani, hogy ne legyen benne a $news tömbben az összes komment, mert így körülbelül adtam a sz@rnak egy pofont.
Előre is köszönöm!
Ui: kb 2 napja kezdtem el a cakephp-val foglalkozni, googleben nem találtam rá megoldást, csak ugyen ezt. (Méghozzá itt: http://blog.matsimitsu.nl/code/162/paginating-child-models)
Üdv!
function read($url){