CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.2 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.2
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
      • Driver
      • Exception
      • Expression
      • Log
      • Retry
      • Schema
      • Statement
      • Type
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class ValuesExpression

An expression object to contain values being inserted.

Helps generate SQL with the correct number of placeholders and bind values correctly into the statement.

Namespace: Cake\Database\Expression

Property Summary

  • $_castedExpressions protected
    bool

    Whether or not values have been casted to expressions already.

  • $_columns protected
    array

    List of columns to ensure are part of the insert.

  • $_query protected
    Cake\Database\Query|null

    The Query object to use as a values expression

  • $_typeMap protected
    Cake\Database\TypeMap|null
  • $_values protected
    array

    Array of values to insert.

Method Summary

  • __construct() public

    Constructor

  • _castToExpression() protected

    Conditionally converts the passed value to an ExpressionInterface object if the type class implements the ExpressionTypeInterface. Otherwise, returns the value unmodified.

  • _columnNames() protected

    Get the bare column names.

  • _processExpressions() protected

    Converts values that need to be casted to expressions

  • _requiresToExpressionCasting() protected

    Returns an array with the types that require values to be casted to expressions, out of the list of type names passed as parameter.

  • add() public

    Add a row of data to be inserted.

  • getColumns() public

    Gets the columns to be inserted.

  • getDefaultTypes() public

    Gets default types of current type map.

  • getQuery() public

    Gets the query object to be used as the values expression to be evaluated to insert records in the table.

  • getTypeMap() public

    Returns the existing type map.

  • getValues() public

    Gets the values to be inserted.

  • setColumns() public

    Sets the columns to be inserted.

  • setDefaultTypes() public

    Overwrite the default type mappings for fields in the implementing object.

  • setQuery() public

    Sets the query object to be used as the values expression to be evaluated to insert records in the table.

  • setTypeMap() public

    Creates a new TypeMap if $typeMap is an array, otherwise exchanges it for the given one.

  • setValues() public

    Sets the values to be inserted.

  • sql() public

    Converts the Node into a SQL string fragment.

  • traverse() public

    Iterates over each part of the expression recursively for every level of the expressions tree and executes the $callback callable passing as first parameter the instance of the expression currently being iterated.

Method Detail

__construct() ¶ public

__construct(array $columns, Cake\Database\TypeMap $typeMap)

Constructor

Parameters
array $columns

The list of columns that are going to be part of the values.

Cake\Database\TypeMap $typeMap

A dictionary of column -> type names

_castToExpression() ¶ protected

_castToExpression(mixed $value, string|null $type = null): mixed

Conditionally converts the passed value to an ExpressionInterface object if the type class implements the ExpressionTypeInterface. Otherwise, returns the value unmodified.

Parameters
mixed $value

The value to convert to ExpressionInterface

string|null $type optional

The type name

Returns
mixed

_columnNames() ¶ protected

_columnNames(): array

Get the bare column names.

Because column names could be identifier quoted, we need to strip the identifiers off of the columns.

Returns
array

_processExpressions() ¶ protected

_processExpressions(): void

Converts values that need to be casted to expressions

Returns
void

_requiresToExpressionCasting() ¶ protected

_requiresToExpressionCasting(array $types): array

Returns an array with the types that require values to be casted to expressions, out of the list of type names passed as parameter.

Parameters
array $types

List of type names

Returns
array

add() ¶ public

add(array|Cake\Database\Query $values): void

Add a row of data to be inserted.

Parameters
array|Cake\Database\Query $values

Array of data to append into the insert, or a query for doing INSERT INTO .. SELECT style commands

Returns
void
Throws
Cake\Database\Exception\DatabaseException
When mixing array + Query data types.

getColumns() ¶ public

getColumns(): array

Gets the columns to be inserted.

Returns
array

getDefaultTypes() ¶ public

getDefaultTypes(): array

Gets default types of current type map.

Returns
array

getQuery() ¶ public

getQuery(): Cake\Database\Query|null

Gets the query object to be used as the values expression to be evaluated to insert records in the table.

Returns
Cake\Database\Query|null

getTypeMap() ¶ public

getTypeMap(): Cake\Database\TypeMap

Returns the existing type map.

Returns
Cake\Database\TypeMap

getValues() ¶ public

getValues(): array

Gets the values to be inserted.

Returns
array

setColumns() ¶ public

setColumns(array $columns): $this

Sets the columns to be inserted.

Parameters
array $columns

Array with columns to be inserted.

Returns
$this

setDefaultTypes() ¶ public

setDefaultTypes(array $types): $this

Overwrite the default type mappings for fields in the implementing object.

This method is useful if you need to set type mappings that are shared across multiple functions/expressions in a query.

To add a default without overwriting existing ones use getTypeMap()->addDefaults()

Parameters
array $types

The array of types to set.

Returns
$this
See Also
\Cake\Database\TypeMap::setDefaults()

setQuery() ¶ public

setQuery(Cake\Database\Query $query): $this

Sets the query object to be used as the values expression to be evaluated to insert records in the table.

Parameters
Cake\Database\Query $query

The query to set

Returns
$this

setTypeMap() ¶ public

setTypeMap(array|Cake\Database\TypeMap $typeMap): $this

Creates a new TypeMap if $typeMap is an array, otherwise exchanges it for the given one.

Parameters
array|Cake\Database\TypeMap $typeMap

Creates a TypeMap if array, otherwise sets the given TypeMap

Returns
$this

setValues() ¶ public

setValues(array $values): $this

Sets the values to be inserted.

Parameters
array $values

Array with values to be inserted.

Returns
$this

sql() ¶ public

sql(Cake\Database\ValueBinder $binder): string

Converts the Node into a SQL string fragment.

Parameters
Cake\Database\ValueBinder $binder
Returns
string

traverse() ¶ public

traverse(Closure $callback): $this

Iterates over each part of the expression recursively for every level of the expressions tree and executes the $callback callable passing as first parameter the instance of the expression currently being iterated.

Parameters
Closure $callback
Returns
$this

Property Detail

$_castedExpressions ¶ protected

Whether or not values have been casted to expressions already.

Type
bool

$_columns ¶ protected

List of columns to ensure are part of the insert.

Type
array

$_query ¶ protected

The Query object to use as a values expression

Type
Cake\Database\Query|null

$_typeMap ¶ protected

Type
Cake\Database\TypeMap|null

$_values ¶ protected

Array of values to insert.

Type
array
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs