【问题标题】:what is returned by Engine_Api::_()->getTableEngine_Api::_()->getTable 返回的内容
【发布时间】:2018-07-07 07:29:11
【问题描述】:

不知道是调用getTable('tbl', 'module')返回的数组还是对象。当我尝试将返回的值插入另一个数组然后将其编码为 JSON 时,我遇到了问题。将其本身传递给$this->_helper->json() 会成功生成 JSON 输出,但将其用作另一个数组的一部分是行不通的,并且是一个空数组。控制器代码见下文:

//put your code here
public function indexAction () {

}

public function browseAction () {

    $resultArray = $this->prepareArray();

    $this->sendResponse($resultArray);
}

    /**
 * HTTP Response Codes
 */
const HTTP_OK = 200;

public function sendResponse($data) {
    ob_clean();
    $this->_helper->json($data);
}

public function prepareArray() {
    //Here we will prepare the array to be later encoded as JSON
    $responseArray = [
        'status_code' => '',
        'body'       => [
            'itemsCount' => '',
            'foods' =>  [
                'food_id' => '',
                'food_title' => '', 
                'image' => '',
            ],
        ],
    ];

    $foodTable = Engine_Api::_()->getDbTable('foods', 'restapi');

    $foods = $foodTable->getFoods($this->view);
    $foodArray = [];
    print_r($foods);
    while ($row = mysqli_fetch_row($foods)) {
        $foodArray['food_id'] = $row['food_id'];
        $foodArray['food_title'] = $row['title'];
        $foodArray['image'] = $row['image'];  
    }

                error_log( $row ['food_id'] . ',' . $row['title']);            

    $responseArray['status_code'] = '200';
    $responseArray['body']['itemsCount'] = count($foods);        
    $responseArray['body']['foods']= $foodsArray;
    return $responseArray;
}

【问题讨论】:

    标签: socialengine


    【解决方案1】:

    如果一切设置正确,getTable('tbl', 'module') 将返回 object(Module_Model_DbTable_Tbl)。这是您的数据库表的模型。

    您的特定错误出现在您分配未在任何地方定义的foodsArray 变量的行上。你应该在这里指定foodArray

    $responseArray['body']['foods']= $foodsArray; // should be foodArray

    【讨论】:

    • 嗨。怎么联系你?
    • @JasonStack kirk@kirk.kh.ua
    猜你喜欢
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 2019-03-10
    • 2015-04-26
    相关资源
    最近更新 更多