AFAICT nie jest to możliwe (jeszcze) przy użyciu składni tablicy lub wyrażeń porównań regularnych, kod odpowiedzialny za transformację obsługuje tylko pojedyncze pola i płaskie tablice, patrz
Źródło> \Cake \Database\Expression\Comparison::_stringExpression()
Jednak jest to bardzo możliwe przy użyciu wyrażenia porównania krotek, które obsługuje obsługę zestawów krotek po wyjęciu z pudełka. Wewnętrznie jest używany przez stowarzyszenia do obsługi kluczy złożonych.
$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')
);
Źródło> \Cake\Database \Expression\TupleComparison