Sur le projet pour lequel je travaille actuellement, je dois lire un fichier Excel (avec plus de 1000 lignes), les extraire et les insérer/mettre à jour dans une table de base de données.Insérer/mettre à jour l'objet Doctrine depuis Excel
en termes de performance, est préférable d'ajouter tous les enregistrements à un
Doctrine_Collection
et insérer/mettre à jour après avoir utilisé la méthodefromArray()
, non? Une autre approche possible consiste à créer un nouvel objet pour chaque ligne (une ligne Excel sera un objet) et les enregistrer, mais je pense que c'est pire en termes de performance.Chaque fois que l'Excel est téléchargé, il est nécessaire de comparer ses lignes aux objets existants dans la base de données. Si la ligne n'existe pas en tant qu'objet, elle doit être insérée, sinon mise à jour. Ma première approche était de transformer les objets et les lignes en tableaux (ou
Doctrine_Collections
); comparez ensuite les deux tableaux avant de mettre en œuvre les opérations nécessaires.
Quelqu'un peut-il me suggérer une autre approche possible?
est votre question concernant les opérations de base de données (manipulation d'insertion/mise à jour) ou la logique de code côté serveur (en comparant les tableaux) ou les deux? –
C'est mieux à la fois. –
Contrairement I Pensé sur un premier moment, le nombre de base est exactement le même en utilisant la méthode fromArray() de la Doctrine_Collection. N'est-ce pas de toute façon enregistrer tous les tableaux qui composent la collection sur la même requête? –