首頁  >  問答  >  主體

使用Laravel在頁面循環並插入資料的方法

<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粉282627613P粉282627613452 天前617

全部回覆(1)我來回復

  • P粉642920522

    P粉6429205222023-08-16 17:41:36

    嘗試將您的dumData()方法變更為以下內容:

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

    也可以考慮使用chunks來取得資料

    回覆
    0
  • 取消回覆