SqlBuilder is based on great library NotORM http://www.notorm.com written by Jakub Vrana.
Author: Jakub Vrana
Author: Jan Skrasek
Inheritance: extends Nette\Object
Exemple #1
0
 /**
  * Transforms orm condition to sql expression for Nette Database.
  * @param  string   $condition
  * @param  mixed    $value
  * @return string
  */
 public function parse($condition, $value, NetteSqlBuilder $builder)
 {
     list($chain, $operator) = CollectionConditionParser::parseCondition($condition);
     if ($operator === CollectionConditionParser::OPERATOR_EQUAL) {
         $operator = '';
     } elseif ($operator === CollectionConditionParser::OPERATOR_NOT_EQUAL) {
         if (is_array($value) || $value === NULL || $value instanceof Traversable) {
             $operator = ' NOT';
         } else {
             $operator = ' !=';
         }
     } else {
         $operator = " {$operator}";
     }
     if (count($chain) === 1) {
         return $builder->getTableName() . '.' . $this->mapper->getStorageReflection()->convertEntityToStorageKey($chain[0]) . $operator;
     }
     return $this->parseCondition($chain, $this->mapper) . $operator;
 }
Exemple #2
0
 /**
  * Deletes all rows in result set.
  * @return int number of affected rows
  */
 public function delete()
 {
     return $this->query($this->sqlBuilder->buildDeleteQuery())->getRowCount();
 }