Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

Comment envoyer deux paramètres dans le contoller depuis la vue ?

$
0
0

Bonjour les amis,

Je viens à vous car j'ai un petit problème dont je ne comprend pas l'origine.

J'ai une vue à qui qui un bouton qui pointe vers une méthode à laquelle le bouton lui passe 2 paramètres (à la ligne 15)

{% extends "base.html.twig" %}
{% block body %} 
    <h1 class="mt-4">Choisissez le groupe auquel vous voulez inviter</h1>
    <div class="text-center">
    <div class="row mt-4 text-center">
        {% for groupe in groupes_perso %}
            <div class="col-md-4">
            <div class="card mt-2" style="width: 18rem;">
                <img src="{{asset('home/Infermiere_africaine.jpg')}}" class="card-img-top" alt="...">
                <div class="card-body">
                    <h5 class="card-title">{{groupe.nom}}</h5>
                    <p>Nombre de membres : 6</p>
                    <p>Id n° {{groupe.id}}</p>
                    <a href="{{path('envoie_invitation_groupe', {'id_groupe': groupe.id, 'invite': invite})}}" class="btn btn-success">Inviter</a>
                </div>
                </div>
            </div>
        {% endfor %}
    </div>
    </div>
{% endblock %}

Une fois dans le controller, la méthode qui est associé à la route "envoie_invitation_groupe", je dois pouvoir récupérer deux paramètres
id_groupe et id_invite

Voici le code du controller

/**
 * Cette méthode envoie l'invitation à rejoindre le groupe.
 *
 * @Route("/envoie_invitation_groupe/{id_invite, id_groupe}", name="envoie_invitation_groupe")
 *
 */
public function envoieInvitationGroupe($id_invite, $id_groupe){
    $idInvite = $id_invite;
    $invite = $this->getDoctrine()->getRepository(User::class)->find($idInvite);

    $idGroupe = $id_groupe;
    $groupe = $this->getDoctrine()->getRepository(Groupe::class)->find($idGroupe);

    $invitation = new InvitationGroupe();

    $em = $this->getDoctrine()->getManager();
    $invitation
                ->setInvitationDe($this->getUser())
                ->setInvitationPour($invite)
                ->setAccepte(false)
                ->setBloque(false)
                ->setGroupe($groupe);
    $em->persist($invitation);
    $em->flush();
    return $this->redirectToRoute('profils');
}

Comment je fais pour envoyer 2 paramètres aux controller et les récupérer ?

Symfony me renvoie cette erreur

Controller "App\Controller\User\AdminUserGroupeController::envoieInvitationGroupe()" requires that you provide a value for the "$id_invite" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.

Viewing all articles
Browse latest Browse all 1542

Trending Articles