LaravelのEloquentを使っていて、whereInの引数の配列が大きいとき、クエリーは正しく動作しない。
$array = ['1', '2', ..., '1500'];
$query = Customer::whereIn('id', $array)->get();
Eloquentは内部でPDO::prepare()を使っている。
PDO::prepare()はIN()句の最適化を行うが、データベースがMySQL・MariaDBのとき、配列のサイズがin_predicate_conversion_threshold(デフォルト値は1000)を超えるとエラーが発生するとのこと。