我想在每個分頁頁面上執行向資料庫插入操作,從第一頁開始到最後一頁結束,直到最後一頁完成。 但問題是,我嘗試了這段程式碼,但它只循環遍歷了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'; }
嘗試將您的dumData()方法變更為以下內容:
也可以考慮使用chunks來取得資料