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 5.0 Chiffon API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 5.0
      • 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
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
      • Driver
      • Exception
      • Expression
      • Log
      • Query
      • Retry
      • Schema
      • Statement
      • Type
    • Datasource
    • Error
    • Event
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • 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 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, 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(Cake\Database\Query|array $values): void

Add a row of data to be inserted.

Parameters
Cake\Database\Query|array $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<int|string, string>

Gets default types of current type map.

Returns
array<int|string, string>

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<int|string, string> $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<int|string, string> $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(Cake\Database\TypeMap|array $typeMap): $this

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

Parameters
Cake\Database\TypeMap|array $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, passing as first parameter the instance of the expression currently being iterated.

Parameters
Closure $callback
Returns
$this

Property Detail

$_castedExpressions ¶ protected

Whether 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