for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Author: Nil Portugués Calderó <[email protected]>
* Date: 6/3/14
* Time: 12:07 AM.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace NilPortugues\Sql\QueryBuilder\Builder;
use NilPortugues\Sql\QueryBuilder\Syntax\Column;
use NilPortugues\Sql\QueryBuilder\Syntax\Table;
* Class MySqlBuilder.
class MySqlBuilder extends GenericBuilder
{
* {@inheritdoc}
* @param Column $column
* @return string
public function writeColumnName(Column $column)
if ($column->isAll()) {
return '*';
}
if (false !== strpos($column->getName(), "(")) {
return parent::writeColumnName($column);
return $this->wrapper(parent::writeColumnName($column));
* @param Table $table
public function writeTableName(Table $table)
return $this->wrapper(parent::writeTableName($table));
* @param $alias
public function writeTableAlias($alias)
return $this->wrapper(parent::writeTableAlias($alias));
public function writeColumnAlias($alias)
return $this->wrapper($alias);
* @param $string
* @param string $char
protected function wrapper($string, $char = '`')
if (0 === strlen($string)) {
return '';
return $char.$string.$char;