So durchlaufen Sie die Seite und fügen Daten mit Laravel ein
P粉282627613
P粉282627613 2023-08-15 21:39:21
0
1
659
<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粉282627613
P粉282627613

Antworte allen(1)
P粉642920522

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

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage