如何从laravel 5.2中的查询生成器的块函数获取变量?

时间:2016-03-22 05:51:21

标签: php laravel laravel-5.2

我正在尝试处理'消息中的一些记录。使用laravel 5.2查询构建器的chunk方法的表。但我无法在查询构建器之外的数组中获取已处理的ID。

我可以访问它将变量声明为全局但是还有其他方法吗?

我在完成块后需要这个,因为如果我在同一个循环中更新记录,那么chunk将跳过记录。因为大块就像分页一样。

使用全球(工作):

global $m_ids;

DB::table("messages")
    ->where('processed','0')   
    ->chunk(100, function ($messages){
                    foreach ($messages as $message) {
                        $GLOBALS['$m_ids'][] = $message->id;
                    }
                });

echo "<pre>"; print_r($GLOBALS['$m_ids']); die;

1 个答案:

答案 0 :(得分:4)

更改代码:

String userInput = ...;
BigInteger bigInt = new BigInteger(userInput);
if(bigInt.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) > 0) {
    throw new Exception(userInput + ": value is too large");
}