AFAICTこれは、配列構文または通常の比較式を使用して(まだ)不可能です。変換を担当するコードは、単一フィールドとフラット配列のみを処理します。
を参照してください。ソース>\Cake \ Database \ Expression \ Compareson ::_ stringExpression()
ただし、これは、タプルのセットをすぐに処理できるようにするタプル比較式を使用すると非常に可能です。内部的には、複合キーを処理するためにアソシエーションによって使用されます。
$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')
);
ソース>\Cake \ Database \ Expression \ TupleComparison