使用Laravel在页面循环并插入数据的方法
P粉282627613
P粉282627613 2023-08-15 21:39:21
[PHP讨论组]

我想在每个分页页面上执行向数据库插入操作,从第一页开始到最后一页结束,直到最后一页完成。 但问题是,我尝试了这段代码,但它只循环遍历了5个数据(根据第一个分页),而且不停地进行下去。

感谢任何解决我的问题的人。:)

public function __construct()
{
    $this->data = new Data();
}
public function dumData()
{
    $data = $this->data->paginate(5);
    return $data;
}

public function test()
{
    $page = 1;

    do {
        $dataPaginated = $this->dumData($page);

        $data = $dataPaginated->items();

        foreach ($data as $result) {
            DB::table('test')->insert([
                'name' => $result->name,
                'data' => json_encode($result),
                'created_at' => Carbon::now(),
                'updated_at' => Carbon::now()
            ]);
        }

        $page++;

        $nextpage = $dataPaginated->nextPageUrl();
    } while ($nextpage);

    return 'success';
}


P粉282627613
P粉282627613

全部回复(1)
P粉642920522

尝试将您的dumData()方法更改为以下内容:

public function dumData($pageNumber)
{
    $data = $this->data->paginate(5, ['*'], 'page', $pageNumber);
    return $data;
}

还可以考虑使用chunks来获取数据

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号