예제 #1
0
 public function createUpdateOne($table, $primaryColumn, $primaryValue, array $values)
 {
     $type = is_object($primaryValue) ? get_class($primaryValue) : gettype($primaryValue);
     $query = new Query($this->connection->update($table, $values));
     $query->fluent->where("%n = " . $query->getModificators()[$type], $primaryColumn, $primaryValue);
     $query->resultCallback = function (Query $query) {
         $query->fluent->execute();
         return $this->connection->getAffectedRows() === 0 ? false : true;
     };
     return $query;
 }
예제 #2
0
 /**
  * Generates and executes SQL query.
  * @param  mixed what to return?
  * @return DibiResult|int  result set object (if any)
  * @throws DibiException
  */
 public function execute($return = NULL)
 {
     $res = $this->query($this->_export());
     switch ($return) {
         case dibi::IDENTIFIER:
             return $this->connection->getInsertId();
         case dibi::AFFECTED_ROWS:
             return $this->connection->getAffectedRows();
         default:
             return $res;
     }
 }
예제 #3
0
 public function deleteBetweenField($field, $left, $right)
 {
     $sql = 'DELETE FROM %n WHERE %n BETWEEN %i AND %i';
     $this->dibi->query($sql, $this->table_name, $field, $left, $right);
     return $this->dibi->getAffectedRows();
 }
예제 #4
0
 /**
  * @param int $id
  * @return bool
  */
 public function delete($id)
 {
     $this->database->delete(self::TABLE)->where(self::TABLE . '.id = %i', $id)->execute();
     return $this->database->getAffectedRows() == 1;
 }
예제 #5
0
 /**
  * @inheritDoc
  */
 function invalidateToken($token)
 {
     $this->dbConnection->query('DELETE FROM %n', $this->tableName, 'WHERE [token] = %s', $token);
     return $this->dbConnection->getAffectedRows() > 0;
 }