示例#1
0
 /**
  * Конструктор
  * @param string $serverId идентификатор сервера
  * @param Connection $connection используемое соединение с БД
  * @param IDialect $dialect диалект построителя запросов
  * @param IQueryBuilderFactory $queryBuilderFactory фабрика построителей запросов
  */
 public function __construct($serverId, Connection $connection, IDialect $dialect, IQueryBuilderFactory $queryBuilderFactory)
 {
     $this->connection = $connection;
     $this->serverId = $serverId;
     $this->insertBuilderPrototype = $queryBuilderFactory->createInsertBuilder($connection, $dialect);
     $this->deleteBuilderPrototype = $queryBuilderFactory->createDeleteBuilder($connection, $dialect);
     $this->updateBuilderPrototype = $queryBuilderFactory->createUpdateBuilder($connection, $dialect);
     $this->selectBuilderPrototype = $queryBuilderFactory->createSelectBuilder($connection, $dialect);
 }
 /**
  * Начинает новую группу выражений.
  * Группа становится текущей до вызова end
  * @param string $mode режим сложения составных выражений
  * @return $this|SelectBuilder
  */
 public function begin($mode = IExpressionGroup::MODE_AND)
 {
     $parentGroup = $this->currentExpressionGroup;
     $group = $this->queryBuilderFactory->createExpressionGroup($mode, $parentGroup);
     if ($parentGroup) {
         $parentGroup->addGroup($group);
     }
     $this->currentExpressionGroup = $group;
     return $this;
 }