2010-12-01 65 views
3

je la requête suivante:L'utilisation d'un Zend_Db_Expr

$select = $this->getDao()->select() 
         ->from(
          array(new Zend_Db_Expr('FROM_UNIXTIME(expiration)')) 
          ); 

La fonction getDao est une référence à ma classe d'objets d'accès aux données qui ressemble à ceci:

class Model_Db_AccountresetDao extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'accountreset'; 
    protected $_primary = 'reset_id'; 
} 

Maintenant, j'obtenir cette erreur suivante:

"Select query cannot join with another table"

Ceci alors que je ne veux pas faire de jointure. Je veux juste sélectionner ce champ comme unixTimestamp

Comment puis-je résoudre ce problème?

Toute aide est appréciée.

Tnx

Répondre

1

Si vous sélectionnez gettin objet de Zend_Db_Table_Abstract vous ne pouvez pas lui passer un ->from(). Je pense que vous devriez faire comme ça

$select = $this->getDao()->select() 
         ->from(this->getDao(), 
          array('_date or some field='.new Zend_Db_Expr('FROM_UNIXTIME(expiration)')) 
          ); 

ou quelque chose comme ça.

+0

Mais alors cela devient une condition et je ne veux pas que ce soit une condition. Je veux juste sélectionner ce champ dans un format différent. – sanders

+0

-> de donner le nom de la table d'objets select à sélectionner, vous devriez -> select (array ('date' => new Zend_Db_Expr ('FROM_UNIXTIME (expiration)') pour passer les champs que vous voulez sélectionner – Vadyus