/** * @throws \Exception * * @return string */ public function convert() { $parsed = $this->sqlParser->parse($this->sql); if (false === $parsed) { throw new \Exception('SQL query is not valid'); } $results = []; foreach ($parsed as $section => $data) { if ($this->converterFactory->canCreate($section)) { $converter = $this->converterFactory->create($section); $results = array_merge($results, $converter->convert($data)); } } $table = current(array_filter($results, function ($item) { return 'table' === $item['name']; })); unset($results[array_search($table, $results)]); array_unshift($results, $table); foreach ($results as $function) { $args = isset($function['args']) ? $function['args'] : []; $this->generator->addFunction($function['name'], $args); } $this->generator->addFunction('get'); return $this->generator->generate(); }
/** * @return string */ public function convert() { $parsed = $this->sqlParser->parse($this->sql); if (false === $parsed) { throw new \Exception('SQL query is not valid'); } foreach ($parsed as $section => $data) { if ($this->converterFactory->canCreate($section)) { $converter = $this->converterFactory->create($section); $result = $converter->convert($data); foreach ($result as $function) { $args = isset($function['args']) ? $function['args'] : []; $this->generator->addFunction($function['name'], $args); } } } $this->generator->addFunction('get'); return $this->generator->generate(); }