function execute() { $definition = $this->tag; $table_name = $definition->attributes()->to; $create = DB::newInsert($table_name); foreach ($definition as $tag_name => $tag) { $create->add($tag->attributes()->name, "" . $tag); } $create->exec(); }
public function save($do) { if ($do == null || !$do instanceof AbstractDO) { throw new InvalidParameterException("L'oggetto non è un DO valido."); } $pks = $this->__getPrimaryKeyFields(); $all_fields = $this->__getAllFields(); if ($do->__isNew()) { $xx = DB::newInsert($this->__getMyTable()); $insert = true; } else { if (!$do->__isChanged()) { return; } $xx = DB::newUpdate($this->__getMyTable()); foreach ($pks as $field) { //imposto i primary key fields $xx->addConditionEquals($field, $do->{$field}); } $insert = false; } if ($insert) { //echo "Doing insert ..."; $field_list = $do->__get_fields(); foreach ($field_list as $key => $value) { $saved = false; if (isset($this->fetchedAsProperties[$key])) { $xx->add($key, PropertiesUtils::saveToString($value, false)); $saved = true; } if (!$saved) { //prevedere l'utilizzo di addBoolean + test $xx->add($key, $value); } } if (isset($all_fields["dataora_creazione"])) { $xx->addNow("dataora_creazione"); } } else { //echo "Doing update ..."; $field_list = $do->__getChangedFields(); foreach ($field_list as $key) { $saved = false; if (isset($this->fetchedAsProperties[$key])) { $xx->add($key, PropertiesUtils::saveToString($do->{$key}, false)); $saved = true; } if (!$saved) { //prevedere l'utilizzo di addBoolean + test $xx->add($key, $do->{$key}); } } } if (isset($all_fields["dataora_ultima_modifica"])) { $xx->addNow("dataora_ultima_modifica"); } $xx->exec(); //se posso salvo l'id nella chiave primaria. if ($do->__isNew() && count($pks) == 1) { $insert_id = $xx->insert_id(); $do->{$pks[0]} = $insert_id; } $do->__markAsSaved(); }
function insert_row($definition) { $table_name = $definition->attributes()->to; $create = DB::newInsert($table_name); foreach ($definition as $tag_name => $tag) { $create->add($tag->attributes()->name, "" . $tag); } $create->exec(); }