propel pager (symfony) 中的列顺序

发布于 2024-12-24 00:43:11 字数 1334 浏览 1 评论 0原文

我在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;

如您所见,我从9 列表中选择6 列。

当我想打印indexSuccess 中的UTW 列时,它什么也不打印。当我这样做时: 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

所以,它可以,当我选择与表中顺序相同的列时,但当我跳过一个时,值会变得混乱。如何解决这个问题?

i have this code in executeIndex action:

$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;

as you can see, im selecting 6 columns from 9column table.

When i want to print UTW column in indexSuccess it print nothing. when i do: print_r($news), im getting this:

[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] => 

and it should be:

[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

So, its ok, when i select columns with same order as in table, but when i skip one, values get messed up. How to fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北城挽邺 2024-12-31 00:43:11

您需要将 PeerMethod 设置为“doSelectStmt”。

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

You need to set the PeerMethod to 'doSelectStmt'.

$pager->setCriteria($c);
$pager->setPeerMethod('doSelectStmt');  // add this
$pager->setPage($this->getRequestParameter("p", 1));
$pager->init();
$this->pager=$pager;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文