如何使用eloquent进行批量数据库更新

时间:2014-01-23 13:08:32

标签: php laravel eloquent

我想改进以下代码,一次插入1000条记录,而不是在分块循环中。

public function fire()
{
    $self = $this;
    $time = date('Y-m-d H:i:s');
    $this->info('Starting chunk: '.$time);

    Item::chunk(1000, function($items) use ($self)
    {
        foreach ($items as $item)
        {

            $sizeInBytes = $self->getCurlHeaders($item->bigimg);
            $item->imgsize = (string) $sizeInBytes;
            $item->save();
        }
        $time = date('Y-m-d H:i:s');
        $self->info('Ending chunk: '.$time);
        exit;
    });
}

我怎样才能用Eloquent ORM和Laravel来做到这一点?代码作为工匠任务运行。目标表有~1000000行。

0 个答案:

没有答案