CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.0 Strawberry API

  • Overview
  • Version:
    • 4.0
      • 4.0
      • 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

  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
      • Dialect
      • 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

Trait TupleComparisonTranslatorTrait

Provides a translator method for tuple comparisons

Namespace: Cake\Database\Dialect

Method Summary

  • _transformTupleComparison() protected

    Receives a TupleExpression and changes it so that it conforms to this SQL dialect.

Method Detail

_transformTupleComparison() protected

ΒΆ

_transformTupleComparison(\Cake\Database\Expression\TupleComparison $expression, \Cake\Database\Query $query)

Receives a TupleExpression and changes it so that it conforms to this SQL dialect.

It transforms expressions looking like '(a, b) IN ((c, d), (e, f))' into an equivalent expression of the form '((a = c) AND (b = d)) OR ((a = e) AND (b = f))'.

It can also transform transform expressions where the right hand side is a query selecting the same amount of columns as the elements in the left hand side of the expression:

(a, b) IN (SELECT c, d FROM a_table) is transformed into

1 = (SELECT 1 FROM a_table WHERE (a = c) AND (b = d))

Parameters
\Cake\Database\Expression\TupleComparison $expression

The expression to transform

\Cake\Database\Query $query

The query to update.