public function execute(QueryContext $context)
 {
     if (!$this->forceDelete && $this->schema->getSoftDelete()) {
         $executor = TableQueryExecutor::makeUpdate($this->schema, array(TableSchema::SOFT_DELETE_FIELD => time()), $this->conditions);
         return $executor->execute($context);
     }
     $query = $this->toQueryString($context);
     return DB::delete($query, $context->getParams());
 }
Example #2
0
 private function parseTableQuery(QueryContext $context)
 {
     $context->schema($this->schema);
     switch ($this->queryType) {
         case self::QUERY_SELECT:
             return TableQueryExecutor::makeSelect($this->schema, $this->softDeleteLess, $this->selectFields, $this->conditions, $this->joins, $this->orders, $this->groups, $this->havings, $this->selectQuerySettings);
         case self::QUERY_UPDATE:
             return TableQueryExecutor::makeUpdate($this->schema, $this->updates, $this->conditions);
         case self::QUERY_DELETE:
             return TableQueryExecutor::makeDelete($this->schema, $this->conditions, $this->forceDelete);
         case self::QUERY_INSERT:
             return TableQueryExecutor::makeInsert($this->schema, $this->inserts, $this->insertGetId);
     }
     return null;
 }