From: Nicolas Boisselier Date: Thu, 19 Oct 2017 16:06:16 +0000 (+0100) Subject: lib/php/db/table.php X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=3a9031f5fbbb32f224d382f3306d5e0cb2af28d1;p=nb.git lib/php/db/table.php --- diff --git a/lib/php/db/table.php b/lib/php/db/table.php index b0049986..b197c9d3 100644 --- a/lib/php/db/table.php +++ b/lib/php/db/table.php @@ -33,6 +33,8 @@ Class Table extends nb { 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; @@ -1530,38 +1532,6 @@ Class Table extends nb { 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'); } @@ -1576,16 +1546,16 @@ Class Table extends nb { 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; @@ -1637,7 +1607,7 @@ Class Table extends nb { continue; } - $value = $post[$name]; + $value = $post[self::$field_preff.$name]; if ($field->key) { $keys[] = $name;