Class FunctionsBuilder
Содержит методы, связанные с генерацией объектов FunctionExpression с наиболее часто используемыми SQL-функциями. Выступает в качестве фабрики для объектов FunctionExpression.
Краткое описание методов
-
__call() public
Магический метод-диспетчер для создания пользовательских вызовов SQL-функций
-
aggregate() public
Вспомогательный метод для создания произвольных вызовов агрегатных SQL-функций.
-
avg() public
Возвращает AggregateExpression, представляющий вызов SQL-функции AVG.
-
cast() public
Возвращает FunctionExpression, представляющий SQL-функцию CAST.
-
coalesce() public
Возвращает FunctionExpression, представляющий вызов SQL-функции COALESCE.
-
concat() public
Возвращает FunctionExpression, представляющий конкатенацию строк
-
count() public
Возвращает AggregateExpression, представляющий вызов SQL-функции COUNT.
-
dateAdd() public
Добавляет единицу времени к выражению даты
-
dateDiff() public
Возвращает FunctionExpression, представляющий разницу в днях между двумя датами.
-
datePart() public
Возвращает указанную часть даты из SQL-выражения.
-
dayOfWeek() public
Возвращает FunctionExpression, представляющий вызов SQL-функции WEEKDAY. 1 - Воскресенье, 2 - Понедельник, 3 - Вторник...
-
extract() public
Возвращает указанную часть даты из SQL-выражения.
-
lag() public
Возвращает AggregateExpression, представляющий вызов SQL-функции LAG().
-
lead() public
Возвращает AggregateExpression, представляющий вызов SQL-функции LEAD().
-
max() public
Возвращает AggregateExpression, представляющий вызов SQL-функции MAX.
-
min() public
Возвращает AggregateExpression, представляющий вызов SQL-функции MIN.
-
now() public
Возвращает FunctionExpression, представляющий вызов, возвращающий текущую дату и время. По умолчанию возвращает и дату, и время, но также можно задать генерацию только даты или только времени.
-
rand() public
Возвращает FunctionExpression, представляющий вызов SQL-функции RAND.
-
rowNumber() public
Возвращает AggregateExpression, представляющий вызов SQL-функции ROW_NUMBER().
-
sum() public
Возвращает AggregateExpression, представляющий вызов SQL-функции SUM.
-
toLiteralParam() protected
Создаёт массив параметров функции из выражения или строкового литерала.
-
weekday() public
Возвращает FunctionExpression, представляющий вызов SQL-функции WEEKDAY. 1 - Воскресенье, 2 - Понедельник, 3 - Вторник...
Подробное описание методов
__call() public
__call(string $name, array $args): Cake\Database\Expression\FunctionExpression
Магический метод-диспетчер для создания пользовательских вызовов функций SQL
Параметры
-
string$name имя функции SQL для построения
-
array$args список до 3-х аргументов, первый из которых — массив с параметрами для функции SQL, второй — список типов для привязки к этим параметрам, а третий — тип возвращаемого значения функции
Возвращаемое значение
Cake\Database\Expression\FunctionExpressionaggregate() public
aggregate(string $name, array $params = [], array $types = [], string $return = 'float'): Cake\Database\Expression\AggregateExpression
Вспомогательный метод для создания произвольных вызовов агрегирующих функций SQL.
Параметры
-
string$name Имя агрегирующей функции SQL
-
array$params optional Массив аргументов, которые будут переданы в функцию. Может быть ассоциативным массивом с буквальным значением или идентификатором:
['value' => 'literal']или `['value' => 'identifier']-
array$types optional Массив типов, соответствующих именам, используемым в
$params:['name' => 'type']-
string$return optional Тип возвращаемого значения всего выражения. По умолчанию — float.
Возвращаемое значение
Cake\Database\Expression\AggregateExpressionavg() public
avg(Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов функции SQL AVG.
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\AggregateExpressioncast() public
cast(Cake\Database\ExpressionInterface|string $field, string $type = ''): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий SQL CAST.
Параметр $type — тип SQL. Тип возвращаемого значения для возвращаемого выражения — имя типа по умолчанию. Используйте setReturnType() для его изменения.
Параметры
-
Cake\Database\ExpressionInterface|string$field Поле или выражение для приведения типа.
-
string$type optional Тип данных SQL
Возвращаемое значение
Cake\Database\Expression\FunctionExpressioncoalesce() public
coalesce(array $args, array $types = []): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий вызов функции SQL COALESCE.
Параметры
-
array$args Список выражений для вычисления в качестве параметров функции
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\FunctionExpressionconcat() public
concat(array $args, array $types = []): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий конкатенацию строк
Параметры
-
array$args Список строк или выражений для конкатенации
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\FunctionExpressioncount() public
count(Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов функции SQL COUNT.
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\AggregateExpressiondateAdd() public
dateAdd(Cake\Database\ExpressionInterface|string $expression, string|int $value, string $unit, array $types = []): Cake\Database\Expression\FunctionExpression
Добавляет единицу времени к дате
Параметры
-
Cake\Database\ExpressionInterface|string$expression Выражение для получения части даты.
-
string|int$value Значение, которое нужно добавить. Используйте отрицательное значение для вычитания.
-
string$unit Единица значения, например, час или день.
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\FunctionExpressiondateDiff() public
dateDiff(array $args, array $types = []): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий разницу в днях между двумя датами.
Параметры
-
array$args Список выражений для получения разницы в днях.
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\FunctionExpressiondatePart() public
datePart(string $part, Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\FunctionExpression
Возвращает указанную часть даты из выражения SQL.
Параметры
-
string$part Часть даты для возвращения.
-
Cake\Database\ExpressionInterface|string$expression Выражение для получения части даты.
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\FunctionExpressiondayOfWeek() public
dayOfWeek(Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий вызов функции SQL WEEKDAY. 1 - Воскресенье, 2 - Понедельник, 3 - Вторник...
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\FunctionExpressionextract() public
extract(string $part, Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\FunctionExpression
Возвращает указанную часть даты из выражения SQL.
Параметры
-
string$part Часть даты для возвращения.
-
Cake\Database\ExpressionInterface|string$expression Выражение для получения части даты.
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\FunctionExpressionlag() public
lag(Cake\Database\ExpressionInterface|string $expression, int $offset, mixed $default = null, string $type = null): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов SQL LAG().
Параметры
-
Cake\Database\ExpressionInterface|string$expression Значение, вычисляемое со смещением
-
int$offset Смещение строки
-
mixed$default optional Значение по умолчанию, если смещение не существует
-
string$type optional Тип выходных данных выражения lag. По умолчанию — float.
Возвращаемое значение
Cake\Database\Expression\AggregateExpressionlead() public
lead(Cake\Database\ExpressionInterface|string $expression, int $offset, mixed $default = null, string $type = null): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов SQL LEAD().
Параметры
-
Cake\Database\ExpressionInterface|string$expression Значение, вычисляемое со смещением
-
int$offset Смещение строки
-
mixed$default optional Значение по умолчанию, если смещение не существует
-
string$type optional Тип выходных данных выражения lead. По умолчанию — float.
Возвращаемое значение
Cake\Database\Expression\AggregateExpressionmax() public
max(Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов функции SQL MAX.
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
-
array$types optional список типов для привязки к аргументам
Возвращаемое значение
Cake\Database\Expression\AggregateExpressionmin() public
min(Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов функции SQL MIN.
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
-
array$types необязательно список типов для привязки к аргументам
Возвращает
Cake\Database\Expression\AggregateExpressionnow() public
now(string $type = 'datetime'): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий вызов, который вернёт текущую дату и время. По умолчанию возвращает и дату, и время, но вы также можете настроить его на генерацию только даты или только времени.
Параметры
-
string$type необязательно (datetime|date|time)
Возвращает
Cake\Database\Expression\FunctionExpressionrand() public
rand(): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий вызов функции SQL RAND.
Возвращает
Cake\Database\Expression\FunctionExpressionrowNumber() public
rowNumber(): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов SQL ROW_NUMBER().
Возвращает
Cake\Database\Expression\AggregateExpressionsum() public
sum(Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\AggregateExpression
Возвращает AggregateExpression, представляющий вызов функции SQL SUM.
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
-
array$types необязательно список типов для привязки к аргументам
Возвращает
Cake\Database\Expression\AggregateExpressiontoLiteralParam() protected
toLiteralParam(Cake\Database\ExpressionInterface|string $expression): arrayCake\Database\ExpressionInterface|string>
Создаёт массив параметров функции из выражения или строкового литерала.
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
Возвращает
arrayCake\Database\ExpressionInterface|string>weekday() public
weekday(Cake\Database\ExpressionInterface|string $expression, array $types = []): Cake\Database\Expression\FunctionExpression
Возвращает FunctionExpression, представляющий вызов функции SQL WEEKDAY. 1 - Воскресенье, 2 - Понедельник, 3 - Вторник...
Параметры
-
Cake\Database\ExpressionInterface|string$expression аргумент функции
-
array$types необязательно список типов для привязки к аргументам
Возвращает
Cake\Database\Expression\FunctionExpression
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Database.FunctionsBuilder.html