/** * Конструктор * @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; }