Beispiel #1
0
 /**
  * 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;
     }
 }
Beispiel #2
0
 /**
  * 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;
 }