【问题标题】:Laravel eloquent limit of the array size passed into whereInLaravel eloquent 限制传入 whereIn 的数组大小
【发布时间】:2022-01-29 00:43:01
【问题描述】:

传递给 WHEREIN eloquent 方法的数组中元素的数量和/或它们的长度是否有限制? 例如:

$skuChunks = array_chunk($skus, 20);
foreach ($skuChunks as $chunk) {
    BCProduct::whereIn('sku', $chunk)->update(['flag' => $flagValue]);
}

除了 20 之外,我可以使用的最大数字是多少? 如果 SKU 的长度为 10 个符号,与长度为 5 个符号相比,这会影响元素的数量($chunk 大小)吗?

谢谢

【问题讨论】:

标签: php laravel eloquent


【解决方案1】:

使用该方法在 whereIn 中发送时可以对数组进行切片

array_slice($array, 0, 5) // return the first five elements

【讨论】:

    【解决方案2】:
    $skuChunks = array_chunk($skus, 20);
    foreach ($skuChunks as $chunk) {
        BCProduct::whereIn('sku', $chunk)->update(['flag' => $flagValue]);
    }
    

    我认为你必须创建一个条件来确保 sku 不会太多,因此需要一个条件来检查 sku 是否不大于 20

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2017-04-01
    • 2017-05-30
    • 1970-01-01
    • 2019-09-03
    • 2017-07-30
    • 1970-01-01
    • 2020-04-24
    • 2017-06-14
    • 1970-01-01
    相关资源
    最近更新 更多