public $created;
public static $is_admin = true;
public static $key_preff = '_key_';
+# NB 19.10.17 TODO
+ public static $field_preff = '';
public $fields = [];
public $indexes;
return $this->db()->sql_name($value === null ? $this->name : $value);
}
- public function _TODEL_fields_extract_keys_values($post) {
- foreach ($this->fields() as $name => $field) {
-
- if (!isset($post[$name])) {
- if ($field->key) $this->bye("Missing `$name`!");
- continue;
- }
-
- $value = $post[$name];
-
- if ($field->key) {
- $keys[] = $name;
- if (isset($post[self::$key_preff.$name])) {
- $value = $post[self::$key_preff.$name];
- }
- $keys_values[] = $value;
-
- } else {
- $fields[] = $name;
- $fields_values[] = $value;
- }
-
- }
-
- return [
- $key,
- $keys_values,
- $fields,
- $fields_values,
- ];
- }
-
public function replace($hvalues,&$info=[]) {
return $this->insert($hvalues,$info,'REPLACE');
}
foreach ($this->fields() as $name => $field) {
if (!isset($post[$name])) continue;
if ($field->key and $field->autoincrement()) continue;
- #$fields[$field->sql_name()] = $field;
+
$fields[$name] = $field;
$sql_names[$name] = $field->sql_name();
$values[] = $post[$name];
}
+
if (empty($fields)) $this->bye('insert(): No fields for table');
$sql =
$insert_word.' INTO '. $this->sql_name() . ' (' . join(',',array_values($sql_names)).')'
- #.' VALUES (' . join(',',$values).')'
.' VALUES (' . join(',',ar_map('":$a"',array_keys($fields))) . ')'
;
$info['sql'] = $sql;
continue;
}
- $value = $post[$name];
+ $value = $post[self::$field_preff.$name];
if ($field->key) {
$keys[] = $name;