Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abfragegenerator:IN-Klausel mit zusammengesetzten Spalten

ABER dies ist mit der Array-Syntax oder regulären Vergleichsausdrücken (noch) nicht möglich, der für die Transformation zuständige Code behandelt nur einzelne Felder und flache Arrays, siehe

Quelle> \Cake \Datenbank\Ausdruck\Vergleich::_stringExpression()

Dies ist jedoch sehr gut möglich, indem ein Tupelvergleichsausdruck verwendet wird, der die Handhabung von Mengen von Tupeln von Haus aus unterstützt. Intern wird es von Verbänden zur Handhabung zusammengesetzter Schlüssel verwendet.

$fields = ['order_date', 'order_number'];
$types = ['date', 'integer'];
$values = [
    ['2016-03-11', 3455453], 
    ['2016-03-18', 83545454], 
    ['2016-06-17', 5354544]
];

$query->where(
    new \Cake\Database\Expression\TupleComparison($fields, $values, $types, 'IN')
);

Quelle> \Cake\Database \Expression\TupleComparison