So durchlaufen Sie die Seite und fügen Daten mit Laravel ein
P粉282627613
2023-08-15 21:39:21
<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>
尝试将您的dumData()方法更改为以下内容:
还可以考虑使用chunks来获取数据