2011-12-29 3 views
0

i ont ce code dans l'action executeIndex:Ordre des colonnes dans téléavertisseur Propel (symfony)

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

comme vous pouvez le voir, im sélectionner 6 colonnes de table 9column.

Lorsque je veux imprimer la colonne UTW dans indexSuccess, il n'imprime rien. quand je fais: print_r (nouvelles de $), im obtenir ceci:

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

et il devrait être:

[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 

Ainsi, son ok, quand je sélectionner des colonnes avec même ordre que dans le tableau, mais quand j'en saute un, les valeurs se gâchent. Comment régler ceci?

+0

pouvez-vous ajouter le code pour imprimer UTW dans le modèle s'il vous plaît? –

Répondre

2

Vous devez définir PeerMethod sur 'doSelectStmt'.

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

C'est ça. Je vous remercie! – WombaT

Questions connexes