本文整理汇总了PHP中Doctrine\ORM\Query\SqlWalker::getConnection方法的典型用法代码示例。如果您正苦于以下问题:PHP SqlWalker::getConnection方法的具体用法?PHP SqlWalker::getConnection怎么用?PHP SqlWalker::getConnection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ORM\Query\SqlWalker
的用法示例。
在下文中一共展示了SqlWalker::getConnection方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getSql
/**
* {@inheritdoc}
*/
public function getSql(SqlWalker $sqlWalker)
{
$stringPrimary = $sqlWalker->walkStringPrimary($this->stringPrimary);
$platform = $sqlWalker->getConnection()->getDatabasePlatform();
$trimMode = $this->getTrimMode();
$trimChar = $this->trimChar !== false ? $sqlWalker->getConnection()->quote($this->trimChar) : false;
return $platform->getTrimExpression($stringPrimary, $trimMode, $trimChar);
}
示例2: getSql
/**
* @override
*/
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
$pos = AbstractPlatform::TRIM_UNSPECIFIED;
if ($this->leading) {
$pos = AbstractPlatform::TRIM_LEADING;
} else {
if ($this->trailing) {
$pos = AbstractPlatform::TRIM_TRAILING;
} else {
if ($this->both) {
$pos = AbstractPlatform::TRIM_BOTH;
}
}
}
return $sqlWalker->getConnection()->getDatabasePlatform()->getTrimExpression($sqlWalker->walkStringPrimary($this->stringPrimary), $pos, $this->trimChar != false ? $sqlWalker->getConnection()->quote($this->trimChar) : false);
}
示例3: getSql
/**
* @override
*/
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
$platform = $sqlWalker->getConnection()->getDatabasePlatform();
if (!method_exists($platform, 'getStringAgg')) {
return $sqlWalker->walkStringPrimary($this->firstStringPrimary);
}
return $platform->getStringAgg($sqlWalker->walkStringPrimary($this->firstStringPrimary), $sqlWalker->walkStringPrimary($this->secondStringPrimary));
}
示例4: getSql
/**
* @override
*/
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
$optionalSecondSimpleArithmeticExpression = null;
if ($this->secondSimpleArithmeticExpression !== null) {
$optionalSecondSimpleArithmeticExpression = $sqlWalker->walkSimpleArithmeticExpression($this->secondSimpleArithmeticExpression);
}
return $sqlWalker->getConnection()->getDatabasePlatform()->getSubstringExpression($sqlWalker->walkStringPrimary($this->stringPrimary), $sqlWalker->walkSimpleArithmeticExpression($this->firstSimpleArithmeticExpression), $optionalSecondSimpleArithmeticExpression);
}
示例5: getSql
/**
* @override
*/
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
$platform = $sqlWalker->getConnection()->getDatabasePlatform();
$strings = array_map(function ($v) use($sqlWalker) {
return $sqlWalker->walkStringPrimary($v);
}, $this->strings);
return call_user_func_array(array($platform, 'getConcatExpression'), $strings);
}
示例6: getSql
/**
* @param SqlWalker $sqlWalker
*
* @return string
*/
public function getSql(SqlWalker $sqlWalker)
{
$this->validatePlatform($sqlWalker->getConnection()->getDatabasePlatform());
if ($this->optionalExpression) {
return sprintf('%s(%s, %s, %s)', $this->functionName, $this->firstGeomExpression->dispatch($sqlWalker), $this->secondGeomExpression->dispatch($sqlWalker), $this->optionalExpression->dispatch($sqlWalker));
}
return sprintf('%s(%s, %s)', $this->functionName, $this->firstGeomExpression->dispatch($sqlWalker), $this->secondGeomExpression->dispatch($sqlWalker));
}
开发者ID:raketman,项目名称:doctrine2-spatial,代码行数:13,代码来源:AbstractDualGeometryOptionalParameterDQLFunction.php
示例7: getSql
/**
* @param \Doctrine\ORM\Query\SqlWalker $sqlWalker
* @return string
*/
public function getSql(SqlWalker $sqlWalker)
{
$platform = $sqlWalker->getConnection()->getDatabasePlatform();
if ($platform instanceof PostgreSqlPlatform) {
return $this->getPostgreSql($sqlWalker);
}
throw new NotImplementedException();
}
示例8: getSql
/**
* @override
*/
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
$platform = $sqlWalker->getConnection()->getDatabasePlatform();
if (!method_exists($platform, 'getTranslateExpression')) {
return $sqlWalker->walkStringPrimary($this->firstStringPrimary);
}
return $platform->getTranslateExpression($sqlWalker->walkStringPrimary($this->firstStringPrimary), $sqlWalker->walkStringPrimary($this->stringFrom), $sqlWalker->walkStringPrimary($this->stringTo));
}
示例9: getSql
public function getSql(SqlWalker $sqlWalker)
{
$p = $sqlWalker->getConnection()->getDatabasePlatform();
$pi = $p->getPiExpression();
// %F * ASIN(SQRT(POWER(SIN((%s - %s) * PI()/360), 2) + COS(%s * PI()/180) * COS(%s * PI()/180) * POWER(SIN((%s - %s) * PI()/360), 2)))
$formula = "%F * ({$pi} / 2 - " . $p->getAcosExpression($p->getSqrtExpression('(' . $p->getSinExpression("(%s - %s) * {$pi} / 360") . ' * ' . $p->getSinExpression("(%s - %s) * {$pi} / 360") . ') + (' . $p->getCosExpression("%s * {$pi} / 180") . ' * ' . $p->getCosExpression("%s * {$pi} / 180") . ' * ' . $p->getSinExpression("(%s - %s) * {$pi} / 360") . ' * ' . $p->getSinExpression("(%s - %s) * {$pi} / 360") . ')')) . ')';
return sprintf($formula, Measure::EARTH_RADIUS_KM * 2.0, $sqlWalker->walkArithmeticPrimary($this->latOrigin), $sqlWalker->walkArithmeticPrimary($this->latPoint), $sqlWalker->walkArithmeticPrimary($this->latOrigin), $sqlWalker->walkArithmeticPrimary($this->latPoint), $sqlWalker->walkArithmeticPrimary($this->latOrigin), $sqlWalker->walkArithmeticPrimary($this->latPoint), $sqlWalker->walkArithmeticPrimary($this->lonOrigin), $sqlWalker->walkArithmeticPrimary($this->lonPoint), $sqlWalker->walkArithmeticPrimary($this->lonOrigin), $sqlWalker->walkArithmeticPrimary($this->lonPoint));
}
示例10: getSql
public function getSql(SqlWalker $sqlWalker)
{
$driver = $sqlWalker->getConnection()->getDriver()->getName();
if ($driver == 'pdo_sqlite') {
return sprintf("CAST(STRFTIME('%s', %s) AS INTEGER)", $this->formats[$this->field], $this->source->dispatch($sqlWalker));
} else {
return sprintf('EXTRACT(%s FROM %s %s)', $this->field, (string) $this->type, $this->source->dispatch($sqlWalker));
}
}
示例11: getSql
/**
* @override
*/
public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
{
$platform = $sqlWalker->getConnection()->getDatabasePlatform();
$args = array();
foreach ($this->concatExpressions as $expression) {
$args[] = $sqlWalker->walkStringPrimary($expression);
}
return call_user_func_array(array($platform, 'getConcatExpression'), $args);
}
示例12: getSql
/**
* {@inheritdoc}
*/
public function getSql(SqlWalker $sqlWalker)
{
// This type is defined by ANSI SQL
$targetType = 'VARCHAR';
// MySQL needs a CHAR type for string conversion (http://dev.mysql.com/doc/refman/5.7/en/type-conversion.html)
if ($sqlWalker->getConnection()->getDatabasePlatform()->getName() === 'mysql') {
$targetType = 'CHAR';
}
return 'CAST(' . $sqlWalker->walkSimpleArithmeticExpression($this->stringPrimary) . ' AS ' . $targetType . ')';
}
示例13: getSql
/**
* @param SqlWalker $sqlWalker
*
* @return string
*/
public function getSql(SqlWalker $sqlWalker)
{
$this->validatePlatform($sqlWalker->getConnection()->getDatabasePlatform());
$result = sprintf('%s(%s', $this->functionName, $this->geomExpr[0]->dispatch($sqlWalker));
for ($i = 1, $size = count($this->geomExpr); $i < $size; $i++) {
$result .= ', ' . $this->geomExpr[$i]->dispatch($sqlWalker);
}
$result .= ')';
return $result;
}
示例14: getSql
/**
* @param SqlWalker $sqlWalker
* @return string
* @throws QueryException
*/
public function getSql(SqlWalker $sqlWalker)
{
switch ($sqlWalker->getConnection()->getDatabasePlatform()->getName()) {
case 'postgresql':
return 'RANDOM()';
case 'mysql':
return 'RAND()';
default:
throw new QueryException("You can't use RANDOM()!");
}
}
示例15: getSql
/**
* @param SqlWalker $sqlWalker
* @return string
*/
public function getSql(SqlWalker $sqlWalker)
{
$driver = $sqlWalker->getConnection()->getDriver()->getName();
$translationField = $this->stringField->dispatch($sqlWalker);
$translationsAlias = explode('.', $translationField)[0];
$query = $translationField;
if ($driver == 'pdo_pgsql') {
$query = "string_agg(DISTINCT " . $translationField . "|| ' [' || " . $translationsAlias . ".locale || '] ', '<br>')";
}
return $query;
}