IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Récupérer dans mon controller mes mails cochés


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2017
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 90
    Points : 65
    Points
    65
    Par défaut Récupérer dans mon controller mes mails cochés
    Bonjour à tous,
    je suis sous symfony4.4
    Je suis sur un envoie de convocations a des membres d'une équipe. Je sélectionne avec des checkbox les membres a qui je désire envoyer la convocation.
    J'utilise Mailer.
    Nom : Capture1.JPG
Affichages : 90
Taille : 56,7 Ko
    Mon formType:
    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
     
    ...
    ->add('emailTo',EntityType::class, [
                // Multiple selection allowed
                'multiple' => true,
                // Render as checkboxes
                'expanded' => true,
                // This field shows all the categories
                'class'  => Adherent::class,
                'choice_label' => 'email',
                'mapped' => false,
                'choice_attr' => function() {
                    return ['checked' => 'checked'];
                },        
                ])
    ...
    La ou je bloque c'est que je voudrai dans mon controller récupérer seulement les adresses mail cochées:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    ...
    $formcontact = $this->createForm(ConvocationType::class);
               $contact = $formcontact->handleRequest($request);
               if($formcontact->isSubmitted() && $formcontact->isValid()){
     
                foreach ($contact->get('emailTo')->getData() as $c) {
                $emails[]= $c;
     
                }
     
     
     
                   $email = (new TemplatedEmail())
                   ->from($contact->get('email')->getData())
                   ->to(...$emails)
                   ->subject('contact')
                   ->htmlTemplate('emails/convocation_match.html.twig')
                   ->context([
                       'catadherent' =>$catadherent,
                       'mail' => $contact->get('email')->getData(),
                       'mailTo'=>$contact->get('emailTo')->getData(),
                      'team'=> $contact->get('team')->getData(),
                      'convocation_date'=>$contact->get('convocation_date')->getData(),
                      'club_adverse'=>$contact->get('club_adverse')->getData(),
                      'rendez_vous_date'=>$contact->get('rendez_vous_date')->getData(),
                      'lieu'=>$contact->get('lieu')->getData(),
                      'match_date'=>$contact->get('match_date')->getData(),
                      'stade'=>$contact->get('stade')->getData(),
     
                   ]);
                   $mailer->send($email);
                   $this->AddFlash(
                       'success',
                       "Votre email a bien été envoyé !"
                   );
     
               }
    ...
    J'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    An address can be an instance of Address or a string ("App\Entity\Adherent") given).
    Comment est ce que je peux faire pour récupérer mes mails?
    Merci d'avance pour votre aide.

  2. #2
    Membre habitué Avatar de Skunka
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 135
    Points : 158
    Points
    158
    Par défaut
    Salut, à première je dirais qu'il te suffit de modifier cela:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach ($contact->get('emailTo')->getData() as $c) {
                $emails[]= $c->getEmail(); // Ou autre selon la fonction de ta class Adhérent
     
    }

    En effet, dans ton formulaire, tu précise que le champ 'emailTo' est un EntityType de class Adhérent! Si tu as un doute, tu peux toujours faire dump($contact->get('emailTo')->getData());exit; pour regarder le contenu de ton formulaire. Cela devrait t'afficher la liste des contacts (Adhérent) que tu as cochés. Tu ajoutais donc un Adhérent à ta liste d'emails au lieu d'ajouter l'email de l'Adhérent !

    Le message d'erreur était pourtant assez clair ^^

    Cordialement,
    Skunka.
    Traverse les rues ...

    Git: https://github.com/BlueSkunka

    Débutant à vie

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2017
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 90
    Points : 65
    Points
    65
    Par défaut
    Merci beaucoup.C'a fonctionne ,c'est super.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/09/2018, 12h47
  2. [CakePHP] Comment exécuter une tache Cron dans mon Controller Cakephp et envoyer mail
    Par zakblacki dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 30/06/2018, 05h20
  3. Erreur dans mon controle textbox
    Par hamdaneabdelkader dans le forum IHM
    Réponses: 1
    Dernier message: 07/01/2009, 13h03
  4. Pb AJAX dans mon controller
    Par cissou06 dans le forum Ruby on Rails
    Réponses: 6
    Dernier message: 15/02/2008, 14h13
  5. Réponses: 10
    Dernier message: 06/10/2005, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo