使用Laravel在页面循环并插入数据的方法
P粉282627613
P粉282627613 2023-08-15 21:39:21
0
1
679
<p>我想在每个分页页面上执行向数据库插入操作,从第一页开始到最后一页结束,直到最后一页完成。 但问题是,我尝试了这段代码,但它只循环遍历了5个数据(根据第一个分页),而且不停地进行下去。</p> <p>感谢任何解决我的问题的人。:)</p> <pre class="brush:php;toolbar:false;">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'; }</pre> <p><br /></p>
P粉282627613
P粉282627613

全部回复(1)
P粉642920522

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板