$val) { $memberIds[] = $val['member_id']; } $memberModel = app::get('ome')->model('members'); $strField = kernel::single('logisticsmanager_print_data')->getSelectField($this->mField, $field, $memberModel); $member = $memberModel->getList($strField, array('member_id'=>array_unique($memberIds))); $memberData = array(); foreach($member as $row) { $memberData[$row['member_id']] = $row; } foreach($oriData as $key => $value) { foreach($field as $f) { if(isset($memberData[$value['member_id']][$f])) { $oriData[$key][$pre . $f] = $memberData[$value['member_id']][$f]; } elseif(method_exists($this, $f)) { $oriData[$key][$pre . $f] = $this->$f($memberData[$value['member_id']]); } else { $oriData[$key][$pre . $f] = ''; } } } } }