- function create(array $data, $returning = "*") {
- $params = array();
- $query = new QueryWriter("INSERT INTO ".$this->conn->quoteName($this->name)." (");
- foreach ($data as $key => $val) {
- $query->write($key);
- $params[] = $query->param($val);
+ function create(array $data = null, $returning = "*") {
+ $query = $this->getQueryWriter()->reset();
+ $query->write("INSERT INTO", $this->conn->quoteName($this->name));
+ if ($data) {
+ $first = true;
+ $params = array();
+ foreach ($data as $key => $val) {
+ $query->write($first ? "(" : ",", $key);
+ $params[] = $query->param($val);
+ $first and $first = false;
+ }
+ $query->write(") VALUES (", $params, ")");
+ } else {
+ $query->write("DEFAULT VALUES");