Bonjour a tous,
Je suis sur un projet sous symfony4'
J'ai fait une application de gestion d'adhérent d'association.
Jusqu'à maintenant lorsque je voulais mettre a jour ma liste d'adhérent avec un fichier csv je le faisais directement dans phpMyAdmin. J'ai une table intermédiaire que j'ai appelé 'import_csv'. J'importe mon fichier csv sur cette table et grâce a deux requêtes j'ajoute et j'update ma liste d'adhérent. Mais je voudrais créer une interface d'administration pour faire la même chose.
Je suis arrivé a créer la gestion d'importation de mon fichier csv sur ma table intermédiaire.
Je voudrais transcrire mes requêtes SQL dans mon Controller Symfony et c'est la que je bloque.
Ma première requête SQL pour ajouter nouveaux adhérents se trouvant sur ma table:
J'ai essayé pas mal de chose mais je n'y arrive pas:
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INSERT INTO adherent (last_name,first_name,to_number,born) SELECT import_csv.last_name,import_csv.first_name,iimport_csv.to_number,import_csv.born FROM inter LEFT JOIN adherent ON import_csv.to_number=adherent.to_number WHERE adherent.to_number IS NULL
Je vous remercie de l'aide que vous pourriez m'apporter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 /** * @Route("import/insert", name="import_insert") */ public function import_insert(ObjectManager $manager) { $qb = $manager->createQueryBuilder(); $qb ->select('import_csv.last_name,import_csv.first_name,import_csv.to_number,import_csv.born') ->from('\App\Entity\Import_csv','i') ->leftjoin('\App\Entity\Adherent on i.to_number=a.to_number','a') ->where('a.to_number IS NULL'); $adherent = new \App\Entity\Adherent(); $manager->persist($adherent); $manager->flush(); return $this->redirectToRoute('import_csv'); }
Partager