dtt78245 2011-01-24 06:04
浏览 39
已采纳

在zend框架中查询

It is my index Action of user Controller :

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

It is my view :

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

In Output i want the JSON of result of user table ,but the Array in the view coming is it is

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

the complete

But i want only json :

{
"userid":"1",
"username": "rahul"
} 
  • 写回答

1条回答 默认 最新

  • duanhuayong6687 2011-01-24 06:19
    关注

    You have to define the columns you need in the from part, try this one:

    $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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?