2011-01-24 178 views
0

这是用户控制的我的索引行动:查询Zend框架

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

这是我的观点:

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

在输出我想用户表的结果的JSON,但数组在未来的观点是 是

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

完全

但我想只有JSON:

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

回答

2

你必须定义您在从部分所需的列,试试这个:

$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

$用户 - >使用fetchall($选择)是返回一个Zend_Db_Table_Rowset对象,我将如何访问数据,因为它受保护? – XMen 2011-01-24 06:26:45