任何方式使用超过2000个绑定进行查询?

时间:2015-08-10 08:05:25

标签: sql sql-server laravel laravel-4

开发人员,我需要你的帮助。 我使用一个非常大的MS SQL数据库,在这个数据库中的记录超过1kk。 所以,当我尝试进行查询时,我得到了限制2100参数绑定的错误。我尝试使用DB :: raw进行查询,但它没有帮助。 我不想做一个纯SQL查询。任何解决方案?

$product_codes = array_slice($product_codes, 0, 1999); // in original $product_codes about 4k codes.
$wheels = Wheel::select(array('Wheel_Size'))->whereIn('Product_code', $product_codes)->lists('Wheel_Size');

1 个答案:

答案 0 :(得分:0)

在检查完成后,在WhereIn方法中将以下代码写在vendor / laravel / framework / src / Illuminate / Database / Query / Builder.php中,以查看$ values是否为Closure的实例(行号672 in我的项目)

if(count($values)>800) { return $this->whereRaw($column. ' IN ('.implode(',', $values).')'); }