Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
languages
/
wp-content-20241001222009
/
plugins
/
mailpoet
/
vendor-prefixed
/
doctrine
/
orm
/
lib
/
Doctrine
/
ORM
/
Query
/
AST
/
Functions
:
DateSubFunction.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare (strict_types=1); namespace MailPoetVendor\Doctrine\ORM\Query\AST\Functions; if (!defined('ABSPATH')) exit; use MailPoetVendor\Doctrine\ORM\Query\QueryException; use MailPoetVendor\Doctrine\ORM\Query\SqlWalker; use function strtolower; class DateSubFunction extends DateAddFunction { public function getSql(SqlWalker $sqlWalker) { switch (strtolower($this->unit->value)) { case 'second': return $sqlWalker->getConnection()->getDatabasePlatform()->getDateSubSecondsExpression($this->firstDateExpression->dispatch($sqlWalker), $this->intervalExpression->dispatch($sqlWalker)); case 'minute': return $sqlWalker->getConnection()->getDatabasePlatform()->getDateSubMinutesExpression($this->firstDateExpression->dispatch($sqlWalker), $this->intervalExpression->dispatch($sqlWalker)); case 'hour': return $sqlWalker->getConnection()->getDatabasePlatform()->getDateSubHourExpression($this->firstDateExpression->dispatch($sqlWalker), $this->intervalExpression->dispatch($sqlWalker)); case 'day': return $sqlWalker->getConnection()->getDatabasePlatform()->getDateSubDaysExpression($this->firstDateExpression->dispatch($sqlWalker), $this->intervalExpression->dispatch($sqlWalker)); case 'week': return $sqlWalker->getConnection()->getDatabasePlatform()->getDateSubWeeksExpression($this->firstDateExpression->dispatch($sqlWalker), $this->intervalExpression->dispatch($sqlWalker)); case 'month': return $sqlWalker->getConnection()->getDatabasePlatform()->getDateSubMonthExpression($this->firstDateExpression->dispatch($sqlWalker), $this->intervalExpression->dispatch($sqlWalker)); case 'year': return $sqlWalker->getConnection()->getDatabasePlatform()->getDateSubYearsExpression($this->firstDateExpression->dispatch($sqlWalker), $this->intervalExpression->dispatch($sqlWalker)); default: throw QueryException::semanticalError('DATE_SUB() only supports units of type second, minute, hour, day, week, month and year.'); } } }