Порядок столбцов в propel pager (symfony) - PullRequest
0 голосов
/ 29 декабря 2011

у меня есть этот код в действии executeIndex:

$pager = new sfPropelPager('News',5);
$c = new Criteria();
$c->clearSelectColumns();
$c->addSelectColumn(NewsPeer::ID);
$c->addSelectColumn(NewsPeer::TYTUL);
$c->addSelectColumn(NewsPeer::SLUG);
$c->addSelectColumn(NewsPeer::TEKST);
$c->addSelectColumn(NewsPeer::UTW);
$c->addSelectColumn(NewsPeer::WYSWIETLENIA);
$c->addDescendingOrderByColumn(NewsPeer::UTW);
$pager->setCriteria($c);
$pager->setPage($this->getRequestParameter("p", 1));
$pager->init();
$this->pager=$pager;

Как видите, я выбираю 6 столбцов из таблицы 9column.

Когда я хочу напечатать столбец UTW в indexSuccess, он ничего не печатает. когда я делаю: print_r ($ news), я получаю это:

[id:protected] => 64
[tytul:protected] => Limit
[slug:protected] => limit
[tekst:protected] => text.....
[pelnytekst:protected] => 2011-12-22 08:54:07
[stan:protected] => 42
[utw:protected] => 
[zmi:protected] => 
[wyswietlenia:protected] => 

и должно быть:

[id:protected] => 64
[tytul:protected] => Limit
[slug:protected] => limit
[tekst:protected] => text.....
[pelnytekst:protected] => 
[stan:protected] => 
[utw:protected] => 2011-12-22 08:54:07
[zmi:protected] => 
[wyswietlenia:protected] => 42

Итак, все нормально, когда я выбираю столбцы с тем же порядком, что и в таблице, но когда я пропускаю один, значения портятся. Как это исправить?

1 Ответ

2 голосов
/ 29 декабря 2011

Вам нужно установить PeerMethod в 'doSelectStmt'.

$pager->setCriteria($c);
$pager->setPeerMethod('doSelectStmt');  // add this
$pager->setPage($this->getRequestParameter("p", 1));
$pager->init();
$this->pager=$pager;
...