public function insert(&$document)
{
if (isset($document[0])) {
$this->database->connection->beginTransaction();
foreach ($document as &$doc) {
if (!is_array($doc)) {
continue;
}
$res = $this->_insert($doc);
if (!$res) {
$this->database->connection->rollBack();
return $res;
}
}
$this->database->connection->commit();
return count($document);
} else {
return $this->_insert($document);
}
}