Trait TupleComparisonTranslatorTrait
Provides a translator method for tuple comparisons
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.
© 2005–present 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/4.0/trait-Cake.Database.Dialect.TupleComparisonTranslatorTrait.html