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 TupleComparison

This expression represents SQL fragments that are used for comparing one tuple to another, one tuple to a set of other tuples or one tuple to an expression

Namespace: Cake\Database\Expression

Property Summary

  • $_field protected
    Cake\Database\ExpressionInterface|array|string

    The field name or expression to be used in the left hand side of the operator

  • $_isMultiple protected
    bool

    Whether the value in this expression is a traversable

  • $_operator protected
    string

    The operator used for comparing field and value

  • $_type protected
    string|null

    The type to be used for casting the value to a database representation

  • $_value protected
    mixed

    The value to be used in the right hand side of the operation

  • $_valueExpressions protected
    array<Cake\Database\ExpressionInterface>

    A cached list of ExpressionInterface objects that were found in the value for this expression.

  • $types protected
    array<string|null>

    The type to be used for casting the value to a database representation

Method Summary

  • __clone() public

    Create a deep clone.

  • __construct() public

    Constructor

  • _bindValue() protected

    Registers a value in the placeholder generator and returns the generated placeholder

  • _castToExpression() protected

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

  • _collectExpressions() protected

    Returns an array with the original $values in the first position and all ExpressionInterface objects that could be found in the second position.

  • _flattenValue() protected

    Converts a traversable value into a set of placeholders generated by $binder and separated by ,

  • _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.

  • _stringExpression() protected

    Returns a template and a placeholder for the value after registering it with the placeholder $binder

  • _stringifyValues() protected

    Returns a string with the values as placeholders in a string to be used for the SQL version of this expression

  • _traverseValue() protected

    Conditionally executes the callback for the passed value if it is an ExpressionInterface

  • getField() public

    Returns the field name

  • getOperator() public

    Returns the operator used for comparison

  • getType() public

    Returns the type to be used for casting the value to a database representation

  • getValue() public

    Returns the value used for comparison

  • isMulti() public

    Determines if each of the values in this expressions is a tuple in itself

  • setField() public

    Sets the field name

  • setOperator() public

    Sets the operator to use for the comparison

  • setValue() public

    Sets the value

  • 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

__clone() ¶ public

__clone(): void

Create a deep clone.

Clones the field and value if they are expression objects.

Returns
void

__construct() ¶ public

__construct(Cake\Database\ExpressionInterface|array|string $fields, Cake\Database\ExpressionInterface|array $values, array<string|null> $types = [], string $conjunction = '=')

Constructor

Parameters
Cake\Database\ExpressionInterface|array|string $fields

the fields to use to form a tuple

Cake\Database\ExpressionInterface|array $values

the values to use to form a tuple

array<string|null> $types optional

the types names to use for casting each of the values, only one type per position in the value array in needed

string $conjunction optional

the operator used for comparing field and value

_bindValue() ¶ protected

_bindValue(mixed $value, Cake\Database\ValueBinder $binder, string|null $type = null): string

Registers a value in the placeholder generator and returns the generated placeholder

Parameters
mixed $value
Cake\Database\ValueBinder $binder
string|null $type optional
Returns
string

_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

_collectExpressions() ¶ protected

_collectExpressions(Cake\Database\ExpressionInterface|iterable $values): array

Returns an array with the original $values in the first position and all ExpressionInterface objects that could be found in the second position.

Parameters
Cake\Database\ExpressionInterface|iterable $values

The rows to insert

Returns
array

_flattenValue() ¶ protected

_flattenValue(iterable $value, Cake\Database\ValueBinder $binder, string|null $type = null): string

Converts a traversable value into a set of placeholders generated by $binder and separated by ,

Parameters
iterable $value

the value to flatten

Cake\Database\ValueBinder $binder

The value binder to use

string|null $type optional

the type to cast values to

Returns
string

_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

_stringExpression() ¶ protected

_stringExpression(Cake\Database\ValueBinder $binder): array

Returns a template and a placeholder for the value after registering it with the placeholder $binder

Parameters
Cake\Database\ValueBinder $binder

The value binder to use.

Returns
array

_stringifyValues() ¶ protected

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

Returns a string with the values as placeholders in a string to be used for the SQL version of this expression

Parameters
Cake\Database\ValueBinder $binder

The value binder to convert expressions with.

Returns
string

_traverseValue() ¶ protected

_traverseValue(mixed $value, Closure $callback): void

Conditionally executes the callback for the passed value if it is an ExpressionInterface

Parameters
mixed $value

The value to traverse

Closure $callback

The callback to use when traversing

Returns
void

getField() ¶ public

getField(): Cake\Database\ExpressionInterface|array|string

Returns the field name

Returns
Cake\Database\ExpressionInterface|array|string

getOperator() ¶ public

getOperator(): string

Returns the operator used for comparison

Returns
string

getType() ¶ public

getType(): array<string|null>

Returns the type to be used for casting the value to a database representation

Returns
array<string|null>

getValue() ¶ public

getValue(): mixed

Returns the value used for comparison

Returns
mixed

isMulti() ¶ public

isMulti(): bool

Determines if each of the values in this expressions is a tuple in itself

Returns
bool

setField() ¶ public

setField(Cake\Database\ExpressionInterface|array|string $field): void

Sets the field name

Parameters
Cake\Database\ExpressionInterface|array|string $field

The field to compare with.

Returns
void

setOperator() ¶ public

setOperator(string $operator): void

Sets the operator to use for the comparison

Parameters
string $operator

The operator to be used for the comparison.

Returns
void

setValue() ¶ public

setValue(mixed $value): void

Sets the value

Parameters
mixed $value

The value to compare

Returns
void

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

$_field ¶ protected

The field name or expression to be used in the left hand side of the operator

Type
Cake\Database\ExpressionInterface|array|string

$_isMultiple ¶ protected

Whether the value in this expression is a traversable

Type
bool

$_operator ¶ protected

The operator used for comparing field and value

Type
string

$_type ¶ protected

The type to be used for casting the value to a database representation

Type
string|null

$_value ¶ protected

The value to be used in the right hand side of the operation

Type
mixed

$_valueExpressions ¶ protected

A cached list of ExpressionInterface objects that were found in the value for this expression.

Type
array<Cake\Database\ExpressionInterface>

$types ¶ protected

The type to be used for casting the value to a database representation

Type
array<string|null>
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