AFAICT cela n'est pas (encore) possible en utilisant la syntaxe de tableau ou les expressions de comparaison régulières, le code responsable de la transformation ne gère que les champs simples et les tableaux plats, voir
Source> \Cake \Database\Expression\Comparison::_stringExpression()
Cependant, cela est tout à fait possible en utilisant une expression de comparaison de tuples, qui prend en charge la gestion d'ensembles de tuples prêts à l'emploi. En interne, il est utilisé par les associations pour gérer les clés composées.
$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')
);
Source> \Cake\Database \Expression\TupleComparison