/** * Inserts row in a table. * @param mixed array($column => $value)|Traversable for single row insert or TableSelection|string for INSERT ... SELECT * @return ActiveRow or FALSE in case of an error or number of affected rows for INSERT ... SELECT */ public function insert($data) { if ($data instanceof Selection) { $data = $data->getSql(); } elseif ($data instanceof \Traversable) { $data = iterator_to_array($data); } $return = $this->connection->query("INSERT INTO {$this->delimitedName}", $data); $this->rows = NULL; if (!is_array($data)) { return $return->rowCount(); } if (!isset($data[$this->primary]) && ($id = $this->connection->lastInsertId())) { $data[$this->primary] = $id; } return new ActiveRow($data, $this); }
/** * Inserts row in a table. * * @param mixed array($column => $value)|Traversable for single row insert or Selection|string for INSERT ... SELECT * * @return ActiveRow or FALSE in case of an error or number of affected rows for INSERT ... SELECT */ public function insert($data) { if ($data instanceof Selection) { $data = $data->getSql(); } elseif ($data instanceof \Traversable) { $data = iterator_to_array($data); } $return = $this->connection->query($this->sqlBuilder->buildInsertQuery(), $data); $this->checkReferenced = true; if (!is_array($data)) { return $return->rowCount(); } if (!isset($data[$this->primary]) && ($id = $this->connection->lastInsertId())) { $data[$this->primary] = $id; return $this->rows[$id] = $this->createRow($data); } else { return $this->createRow($data); } }
/** * Inserts row in a table. * @param mixed array($column => $value)|Traversable for single row insert or Selection|string for INSERT ... SELECT * @return ActiveRow or FALSE in case of an error or number of affected rows for INSERT ... SELECT */ public function insert($data) { if ($data instanceof Selection) { $data = $data->getSql(); } elseif ($data instanceof \Traversable) { $data = iterator_to_array($data); } $return = $this->connection->query($this->sqlBuilder->buildInsertQuery(), $data); $this->checkReferenced = TRUE; if (!is_array($data)) { return $return->rowCount(); } if (!is_array($this->primary) && !isset($data[$this->primary]) && ($id = $this->connection->lastInsertId($this->getPrimarySequence()))) { $data[$this->primary] = $id; } $row = $this->createRow($data); if ($signature = $row->getSignature(FALSE)) { $this->rows[$signature] = $row; } return $row; }