Comment parcourir la page et insérer des données à l'aide de Laravel
P粉282627613
P粉282627613 2023-08-15 21:39:21
0
1
656
<p>Je souhaite effectuer une insertion dans la base de données sur chaque page paginée, en commençant par la première page et en terminant par la dernière page, jusqu'à ce que la dernière page soit terminée. Mais le problème est que j'ai essayé ce code mais il ne parcourt que 5 éléments de données (basés sur la première pagination) et continue. </p> <p>Merci à tous ceux qui résoudront mon problème. :)</p> <pre class="brush:php;toolbar:false;">fonction publique __construct() { $this->data = new Data(); } fonction publique dumData() { $data = $this->data->paginate(5); renvoyer $données ; } test de fonction publique() { $page = 1 ; faire { $dataPaginated = $this->dumData($page); $data = $dataPaginated->éléments(); foreach ($données en tant que résultat) { DB::table('test')->insérer([ 'nom' => $résultat->nom, 'données' => json_encode ($ résultat), 'created_at' => Carbon::now(), 'updated_at' => Carbone :: maintenant () ]); } $page++; $page suivante = $dataPaginated->nextPageUrl(); } while ($page suivante); renvoyer « succès » ; }</pré> <p><br /></p>
P粉282627613
P粉282627613

répondre à tous(1)
P粉642920522

Essayez de modifier votre méthode dumData() comme suit :

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

Vous pouvez également envisager d'utiliser des chunks pour obtenir des données

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal