/** * Делает вставку данных сущности в базу данных * * @param \REXFramework\model\Entity $entity Сущность для вставки * @return \REXFramework\model\Entity Подтип соответсвует входному параметру */ private function doInsert(\REXFramework\model\Entity $entity) { $pk = $this->getPrimaryKey(); $fields = $entity->getFieldsAsArray(true); $this->SQLBuilder->insert($fields, $this->getTableName())->assemble(); $dbm = new \REXFramework\model\DBManager(); $dbm->execute($this->SQLBuilder); if ($pk != '' && !is_array($pk)) { $entity->{$pk} = $dbm->lastInsertId(); } return $this->findOne($entity); }
/** * Выполнить запрос к базе данных. * Принимает объект класса \REXFramework\model\SQLBuilder * с собранным SQL-запросом, выполняет запрос к базе данных. * * @param \REXFramework\model\SQLBuilder $sql * @return \PDOStatement */ public function execute(\REXFramework\model\SQLBuilder $sql) { $sth = self::$PDO->prepare($sql->getSQL()); $sth->execute($sql->getTerms()); return $sth; }