我有大型的单个 MongoDB 集合,我想为其每个字段添加一个时间戳。我这样做:
$automation = Automation::all();
foreach ($automation as $workflowindex => $workflow)
{
foreach ($workflow['workflow'] as $itemindex => $items)
{
foreach ($items['subscribers'] as $index => $item)
{
foreach ($items as $name => $mail)
{
if ($name != 'subscribers') {
if ($mail['delay'] == "0" && $mail['delay_time'] == 'now') {
$automation[$workflowindex]['workflow'][$itemindex]['subscribers'][$index][$name] = round(time()/60)*60;
$automation->save();
}
}
}
}
}
}
但是,如果我尝试保存此集合,我会收到一条错误消息
间接修改 App\Automation 的重载元素无效
如果我使用该方法
Automation::all()->toArray();
我仍然无法保存,因为保存方法不适用于数组。是否有更好的选择来访问我的 foreach 循环中的字段?如果没有,那么我该如何保存这个集合?