【问题标题】:Any way to make a query with more then 2000 bindings?有什么方法可以查询超过 2000 个绑定?
【发布时间】:2015-11-02 01:40:19
【问题描述】:

开发人员,我再次需要您的帮助。 我使用一个非常大的 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');

【问题讨论】:

    标签: sql sql-server laravel laravel-4


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多