/** * Load primary key from values */ public final function load_pk(&$values) { $this->pk = []; $this->full_pk = true; if (!empty($this->collection_object)) { foreach ($this->collection_object->data['pk'] as $v) { if (isset($values[$v])) { $temp = object_table_columns::process_single_column_type($v, $this->collection_object->primary_model->columns[$v], $values[$v]); if (!empty($temp[$v])) { // pk can not be empty $this->pk[$v] = $temp[$v]; } else { $this->full_pk = false; } } else { $this->full_pk = false; } } } else { $this->full_pk = false; } }
/** * Convert input into array * * @param array $data * @param array $options * boolean ignore_not_set_fields * boolean skip_type_validation * @return array */ public function process_columns(&$data, $options = []) { $save = []; foreach ($this->columns as $k => $v) { if (!empty($options['ignore_not_set_fields']) && !array_key_exists($k, $data)) { continue; } if (empty($options['skip_type_validation'])) { $temp = object_table_columns::process_single_column_type($k, $v, $data[$k] ?? null); if (array_key_exists($k, $temp)) { $save[$k] = $temp[$k]; } } else { $save[$k] = $data[$k]; } } $data = $save; }