Comment parcourir la page et insérer des données à l'aide de Laravel
P粉282627613
2023-08-15 21:39:21
<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>
Essayez de modifier votre méthode dumData() comme suit :
Vous pouvez également envisager d'utiliser des chunks pour obtenir des données