Class FunctionsBuilder
Contains methods related to generating FunctionExpression objects with most commonly used SQL functions. This acts as a factory for FunctionExpression objects.
Method Summary
- __call() publicMagic method dispatcher to create custom SQL function calls
- _build() protected
Returns a new instance of a FunctionExpression. This is used for generating arbitrary function calls in the final SQL string.
- _literalArgumentFunction() protected
Helper function to build a function expression that only takes one literal argument.
- avg() publicReturns a FunctionExpression representing a call to SQL AVG function.
- coalesce() publicReturns a FunctionExpression representing a call to SQL COALESCE function.
- concat() publicReturns a FunctionExpression representing a string concatenation
- count() publicReturns a FunctionExpression representing a call to SQL COUNT function.
- dateAdd() publicAdd the time unit to the date expression
- dateDiff() public
Returns a FunctionExpression representing the difference in days between two dates.
- datePart() publicReturns the specified date part from the SQL expression.
- dayOfWeek() public
Returns a FunctionExpression representing a call to SQL WEEKDAY function. 1 - Sunday, 2 - Monday, 3 - Tuesday...
- extract() publicReturns the specified date part from the SQL expression.
- max() publicReturns a FunctionExpression representing a call to SQL MAX function.
- min() publicReturns a FunctionExpression representing a call to SQL MIN function.
- now() public
Returns a FunctionExpression representing a call that will return the current date and time. By default it returns both date and time, but you can also make it generate only the date or only the time.
- sum() publicReturns a FunctionExpression representing a call to SQL SUM function.
- weekday() public
Returns a FunctionExpression representing a call to SQL WEEKDAY function. 1 - Sunday, 2 - Monday, 3 - Tuesday...
Method Detail
__call()source public
__call( string $name , array $args )
Magic method dispatcher to create custom SQL function calls
Parameters
- string
$name
- the SQL function name to construct
- array
$args
list with up to 3 arguments, first one being an array with parameters for the SQL function, the second one a list of types to bind to those params, and the third one the return type of the function
Returns
Cake\Database\Expression\FunctionExpression
_build()source protected
_build( string $name , array $params [] , array $types [] , string $return 'string' )
Returns a new instance of a FunctionExpression. This is used for generating arbitrary function calls in the final SQL string.
Parameters
- string
$name
- the name of the SQL function to constructed
- array
$params
optional [] - list of params to be passed to the function
- array
$types
optional [] - list of types for each function param
- string
$return
optional 'string' - The return type of the function expression
Returns
Cake\Database\Expression\FunctionExpression
_literalArgumentFunction()source protected
_literalArgumentFunction( string $name , mixed $expression , array $types [] , string $return 'string' )
Helper function to build a function expression that only takes one literal argument.
Parameters
- string
$name
- name of the function to build
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
- string
$return
optional 'string' - The return type for the function
Returns
Cake\Database\Expression\FunctionExpression
avg()source public
avg( mixed $expression , array $types [] )
Returns a FunctionExpression representing a call to SQL AVG function.
Parameters
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
coalesce()source public
coalesce( array $args , array $types [] )
Returns a FunctionExpression representing a call to SQL COALESCE function.
Parameters
- array
$args
- List of expressions to evaluate as function parameters
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
concat()source public
concat( array $args , array $types [] )
Returns a FunctionExpression representing a string concatenation
Parameters
- array
$args
- List of strings or expressions to concatenate
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
count()source public
count( mixed $expression , array $types [] )
Returns a FunctionExpression representing a call to SQL COUNT function.
Parameters
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
dateAdd()source public
dateAdd( string $expression , string $value , string $unit , array $types [] )
Add the time unit to the date expression
Parameters
- string
$expression
- Expression to obtain the date part from.
- string
$value
- Value to be added. Use negative to substract.
- string
$unit
- Unit of the value e.g. hour or day.
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
dateDiff()source public
dateDiff( array $args , array $types [] )
Returns a FunctionExpression representing the difference in days between two dates.
Parameters
- array
$args
- List of expressions to obtain the difference in days.
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
datePart()source public
datePart( string $part , string $expression , array $types [] )
Returns the specified date part from the SQL expression.
Parameters
- string
$part
- Part of the date to return.
- string
$expression
- Expression to obtain the date part from.
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
dayOfWeek()source public
dayOfWeek( mixed $expression , array $types [] )
Returns a FunctionExpression representing a call to SQL WEEKDAY function. 1 - Sunday, 2 - Monday, 3 - Tuesday...
Parameters
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
extract()source public
extract( string $part , string $expression , array $types [] )
Returns the specified date part from the SQL expression.
Parameters
- string
$part
- Part of the date to return.
- string
$expression
- Expression to obtain the date part from.
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
max()source public
max( mixed $expression , array $types [] )
Returns a FunctionExpression representing a call to SQL MAX function.
Parameters
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
min()source public
min( mixed $expression , array $types [] )
Returns a FunctionExpression representing a call to SQL MIN function.
Parameters
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
now()source public
now( string $type 'datetime' )
Returns a FunctionExpression representing a call that will return the current date and time. By default it returns both date and time, but you can also make it generate only the date or only the time.
Parameters
- string
$type
optional 'datetime' - (datetime|date|time)
Returns
Cake\Database\Expression\FunctionExpression
sum()source public
sum( mixed $expression , array $types [] )
Returns a FunctionExpression representing a call to SQL SUM function.
Parameters
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
weekday()source public
weekday( mixed $expression , array $types [] )
Returns a FunctionExpression representing a call to SQL WEEKDAY function. 1 - Sunday, 2 - Monday, 3 - Tuesday...
Parameters
- mixed
$expression
- the function argument
- array
$types
optional [] - list of types to bind to the arguments
Returns
Cake\Database\Expression\FunctionExpression
© 2005–2017 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/3.4/class-Cake.Database.FunctionsBuilder.html