【发布时间】:2016-07-08 21:47:24
【问题描述】:
我正在尝试使用 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;
【问题讨论】:
-
我得到了答案。它通过“function ($messages) use (&$p_ids)”解决。
标签: php laravel laravel-5.2