recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment parcourir la page et insérer des données à l'aide de Laravel

<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粉282627613P粉282627613468 Il y a quelques jours632

répondre à tous(1)je répondrai

  • P粉642920522

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

    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

    répondre
    0
  • Annulerrépondre