Symfony1 推进寻呼机中的列顺序(symfony)

Symfony1 推进寻呼机中的列顺序(symfony),symfony1,propel,pager,Symfony1,Propel,Pager,我在executeIndex操作中有以下代码: $pager = new sfPropelPager('News',5); $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(NewsPeer::ID); $c->addSelectColumn(NewsPeer::TYTUL); $c->addSelectColumn(NewsPeer::SLUG); $c->addSelectCol

我在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;
如您所见,我正在从9column表中选择6列

当我想在indexSuccess中打印UTW列时,它不打印任何内容。当我这样做的时候:打印($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

所以,当我选择和表中顺序相同的列时,这没关系,但当我跳过一个列时,值会被弄乱。如何解决此问题?

您需要将PeerMethod设置为“doSelectStmt”

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

你能在模板中添加打印UTW的代码吗?