Bonjour,
Je travaille sur une application dont la base de données est éclatée en trois endroits (un MySQL et deux MSSQL).
J'ai une table Employés en mysql que j'alimente depuis une table employés présente dans MSSQL.
Je souhaiterais faire un update/create de ma table, donc j'utilise le fameux firstOrNew (j'instancie plutôt que de créer directement).
Seulement voila, j'ai 11.000+ entrées, l'opération est plutôt longue et je débute avec Laravel donc je ne suis pas super à l'aise.
Voici mon code présentement :
<?php
public function importation(){
$i = 0;
$getEmployes = EmployeMSSQL::select('numero', 'nom', 'prenom')->get();
foreach($getEmployes as $employeMSSQL){
$employe = new Employe();
$employe = Employe::firstOrNew(['no_employe' => $employeMSSQL->numero]);
$employe->nom = $employeMSSQL->nom;
$employe->prenom = $employeMSSQL->prenom;
$employe->save();
#dd($employe);
$i++;
}
return redirect('/')->with('status', $i . ' employés importés');
}
?>
Y-a-t-il une solution plus simple ou plus rapide que celle ci ?
L'ennui avec mon appli, c'est que cette opération aura lieu assez fréquemment (au chargement d'une page particulière ou avant l'Affichage d'un formulaire qui contient ces données) et que donc je ne peux pas me permettre de faire attendre le client trop longtemps surtout s'il passe sa journée dessus.
Merci d'avance ! :)