AFAICT dit is (nog) niet mogelijk met behulp van de array-syntaxis of reguliere vergelijkingsexpressies, de code die verantwoordelijk is voor het transformeren verwerkt alleen enkele velden en platte arrays, zie
Bron> \Cake \Database\Expression\Comparison::_stringExpression()
Dit is echter heel goed mogelijk met behulp van een tuple-vergelijkingsuitdrukking, die het gebruik van sets van tuples uit de doos ondersteunt. Intern wordt het gebruikt door verenigingen voor het verwerken van samengestelde sleutels.
$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')
);
Bron> \Cake\Database \Expression\TupleComparison