oldschema->getColumns()); $input = json_decode($json, true); $data = array( 'cols' => array(), 'new' => array() ); foreach($input['columns'] as $column) { // config has to stay json $column['config'] = json_encode($column['config'], JSON_PRETTY_PRINT); if(!empty($column['colref']) && $column['colref'] <= $existing) { // update existing column $data['cols'][$column['colref']] = $column; } else { // add new column $data['new'][] = $column; } } $this->data = $data; } }