2011-01-24 5 views
0

Il est mon index d'action du contrôleur utilisateur:interrogation dans zend framework

$users = new Application_Model_DbTable_Users(); 
     $this->view->users = $users->fetchAll(
     $users->select('userid,username') 
     ->order('userid ASC') 
     ->limit(10, 0)); 

mon avis:

<?php 
echo "<pre>"; 
echo print_r($this->users); 
?> 

En sortie je veux le JSON du résultat de la table utilisateur, mais le tableau dans la vue à venir est-il est

Zend_Db_Table_Rowset Object 
(
    [_data:protected] => Array 
     (
      [0] => Array 
       (
        [userid] => 1 
        [username] => rahul 
        [firstname] => rahul1 
        [lastname] => Khan2 
        [password] => ��2jr�``�(E]_�=^ 
        [email] => [email protected] 
        [avatar] => 4cfe07efd2e1c.jpg 
        [updatedon] => 2011-01-23 18:45:49 
        [createdon] => 0000-00-00 00:00:00 
        [featuredgibs] => 
        [defaultgib] => 
       ) 

la complète

Mais je ne veux que JSON:

{ 
"userid":"1", 
"username": "rahul" 
} 

Répondre

2

Vous devez définir les colonnes dont vous avez besoin dans la partie de, essayez celui-ci:

$users = new Application_Model_DbTable_Users(); 

$select = $users->select() 
      ->from('table', array('userid', 'username')) // important 
      ->order('userid ASC') 
      ->limit(10, 0); 

$this->view->users = Zend_Json::encode($users->fetchAll($select)); // output json 
+0

$ utilisateurs-> fetchAll (sélectionnez $) est de retour un objet Zend_Db_Table_Rowset alors comment vais-je accéder aux données telles qu'elles sont protégées? – XMen

+0

okay utilisé la fonction toArray() pour résoudre le problème :) Merci pour la réponse – XMen