PHP-Codeigniter替换模型中的数组值

我一直在用多维数组替换来回绕圈.

我需要替换存储在与状态类型相关的数据库中的数字.如果我在视图中执行此操作,则它可以工作,但似乎无法在模型中替换?

    function fetch_shipments($orgID){
    $this->db->select('shipID, shipRef, shipCarrier, shipOrigin, shipDestination, shipQty, shipStatus');
    $this->db->where('orgID', $orgID);
    $query = $this->db->get('shipments');

    $result = $query->result_array();

    foreach($result as $row) {
        foreach ($row as $key => $val) {
            $key == 'shipStatus' && $val == 0 ? $val = 'Current' : $val;
            $key == 'shipStatus' && $val == 1 ? $val = 'Pending' : $val;
            $key == 'shipStatus' && $val == 2 ? $val = 'Complete' : $val;
        }
    }

    return $result;
}

真的让我挠了挠头,我知道这种foreach一直有效,因为我一直在使用它……我觉得我缺少了一些东西(也许很明显),但是我只是不能将手指放在上面.我什至尝试在输出数组之前在对象级别进行替换,但也无法正常工作.

解决方法:

我相信放置&在循环变量应解决您的问题之前,该引用将得到更新.

所以你的循环会开始像这样

foreach($result as& $row){
        foreach($row as $key =>& $val){

上一篇:php-代码点火器问题:将变量传递给视图的问题


下一篇:php-为语言路径设置codeigniter路由