繁体   English   中英

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

[英]How can I get variable from chunk function of query builder in laravel 5.2?

我正在尝试使用laravel 5.2查询构建器的块方法来处理“消息”表中的某些记录。 但是我无法在查询生成器之外的数组中获取已处理的ID。

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

块完成后我需要这样做,因为如果我在同一循环中更新记录,则块将跳过记录。 就像块一样工作。

使用全局(工作):

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;

更改代码:

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

echo "<pre>"; print_r($m_id); die;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM