単なる気付きですがwhereのIN句は配列で指定しなければいけないと思っていましたが単数の場合は配列にキャストされるようになっているようです
$query = $client_departments->find() ->where(['id IN' => [1,2,5]); $query = $client_departments->find() ->where(['id IN' => 2); // ['id IN' => [2]]にキャストされる
INを使わずに単数をキャストするのには次のようにもかけます
$query = $client_departments->find() ->where(['id' => $ids], ['id' => 'integer[]']);//idsが単数でも配列にキャストされる