suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So durchlaufen Sie die Seite und fügen Daten mit Laravel ein

<p>Ich möchte auf jeder paginierten Seite eine Einfügung in die Datenbank durchführen, beginnend mit der ersten Seite und endend mit der letzten Seite, bis die letzte Seite vollständig ist. Das Problem ist jedoch, dass ich diesen Code ausprobiert habe, aber er durchläuft nur fünf Datenelemente (basierend auf der ersten Paginierung) und läuft weiter. </p> <p>Vielen Dank an alle, die mein Problem lösen. :)</p> <pre class="brush:php;toolbar:false;">öffentliche Funktion __construct() { $this->data = new Data(); } öffentliche Funktion dumData() { $data = $this->data->paginate(5); $data zurückgeben; } öffentlicher Funktionstest() { $page = 1; Tun { $dataPaginated = $this->dumData($page); $data = $dataPaginated->items(); foreach ($data als $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); „Erfolg“ zurückgeben; }</pre> <p><br /></p>
P粉282627613P粉282627613497 Tage vor661

Antworte allen(1)Ich werde antworten

  • P粉642920522

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

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

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

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

    Antwort
    0
  • StornierenAntwort