/** * Render a Insert object * @param Query\Insert $query * @return string */ public static function render(Query\Insert $query) { return Compiler::withDb($query->getDb(), function () use($query) { $table = $query->getTable(); $select = $query->getSelect(); return Compiler::expression(array('INSERT', $query->getType(), Compiler::word('INTO', $table !== null ? Aliased::render($table) : null), Columns::render($query->getColumns()), Compiler::word('VALUES', Values::combine($query->getValues())), Compiler::word('SET', Set::combine($query->getSet())), $select !== null ? Select::render($select) : null)); }); }
/** * Render a Join object * * @param SQL\Join $join * @return string */ public static function render(SQL\Join $join) { $condition = $join->getCondition(); $table = $join->getTable(); return Compiler::expression(array($join->getType(), 'JOIN', $table instanceof SQL\Aliased ? Aliased::render($table) : $table, is_array($condition) ? self::renderArrayCondition($condition) : $condition)); }
/** * @dataProvider dataRender * @covers ::render */ public function testRender($content, $alias, $expected) { $aliased = new SQL\Aliased($content, $alias); $this->assertEquals($expected, Compiler\Aliased::render($aliased)); }