예제 #1
0
 /**
  * @inheritDoc
  */
 protected function compileBase(DriverInterface $driver)
 {
     if ($this->valuesBag->isEmpty()) {
         throw new CompileException('No values found for update query.');
     }
     return 'UPDATE ' . $this->table->compile($driver) . ' SET ' . $this->valuesBag->concat($driver, ', ');
 }
예제 #2
0
 /**
  * @inheritDoc
  */
 protected function compileBase(DriverInterface $driver)
 {
     if ($this->columnsBag->isEmpty()) {
         throw new CompileException('Select query requires columns list.');
     }
     return 'SELECT ' . $this->columnsBag->concat($driver, ', ') . ' FROM ' . $this->table->compile($driver);
 }
예제 #3
0
 /**
  * @inheritDoc
  */
 public function compile(DriverInterface $driver)
 {
     if ($this->columnsBag->isEmpty()) {
         throw new CompileException('The table definition requires columns list.');
     }
     return 'CREATE TABLE ' . $this->table->compile($driver) . '(' . $this->columnsBag->concat($driver, ', ') . ')';
 }
예제 #4
0
 /**
  * @inheritDoc
  */
 public function compile(DriverInterface $driver)
 {
     return parent::compile($driver) . ' AS ' . $driver->quote($this->alias);
 }
예제 #5
0
 /**
  * @inheritDoc
  */
 public function compile(DriverInterface $driver)
 {
     return 'INSERT INTO ' . $this->table->compile($driver) . '(' . $this->compileFields($driver) . ') VALUES ' . $this->compileValues($driver);
 }
예제 #6
0
 /**
  * @inheritDoc
  */
 public function compile(DriverInterface $driver)
 {
     return $this->ref->compile($driver) . ' = "' . $driver->escapeValue($this->value) . '"';
 }
예제 #7
0
 /**
  * @inheritDoc
  */
 public function compile(DriverInterface $driver)
 {
     return 'DROP TABLE ' . $this->table->compile($driver);
 }
예제 #8
0
 /**
  * @inheritDoc
  */
 public function compile(DriverInterface $driver)
 {
     if (!$this->type) {
         throw new CompileException(sprintf('Data type for the column "%s" not defined.', $this->ref));
     }
     $compiled = parent::compile($driver) . ' ' . $this->type->compile();
     if ($this->primary) {
         return $this->compilePrimary($compiled);
     }
     return $this->compileRegular($driver, $compiled);
 }
예제 #9
0
/**
 * @param mixed $field
 * @return OrderBy
 */
function orderByDesc($field)
{
    return new OrderBy(Reference::factory($field), OrderBy::DESC);
}
예제 #10
0
 /**
  * @inheritDoc
  */
 protected function compileBase(DriverInterface $driver)
 {
     return 'DELETE FROM ' . $this->table->compile($driver);
 }