CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [Help ]Symfony route avec paramètre

DébutPage précedente
1
Page suivantePage suivante
Pseudo supprimé
Niveau 7
23 janvier 2017 à 10:36:10

Hello,

Je suis débutant et je fais face à une erreur de *** qui me désespère.
Je vous explique un peu le contexte :

J'ai 2 entités User(id, nom, age , ..., physique_id(Entity Physique relation OnetoOne)) et Physique (id, cheveux, yeux , ...)
J'ai crée une page pour crée un aspect physique à l'utilisateur (ok pour ça), et je voudrais donc ensuite créer une page pour modifier ces critères physiques (pas ok)

Donc dans ma vue j'ai mis :

<a href="{{ path('fto_meet_profile_editphysique', { 'id': user.physique.id }) }}"><span class="glyphicon glyphicon-pencil"></span></a>

Dans mon routing.yml j'ai mis:
fto_meet_profile_editphysique:
path: /editphysique/{id}
defaults: { _controller: FTOMeetBundle:Physique:editPhysique }
requirements:
id: \d+
_method: POST|GET

et dans mon Controller je veux juste afficher l'id pour voir s'il est pris en compte

/**
* @Route("/editphysique/{id}/", name="fto_meet_profile_editphysique")
* @Method({"GET","POST"})
*/
public function editPhysiqueAction($physiqueId)
{
return new Response("Affichage".$physiqueId);
}

Au final, j'ai bien dans ma barre de recherche : http://localhost/Symfony/web/app_dev.php/editphysique/1/
avec 1 l'id du physique

mais cependant il m'affiche " Affichage" sans l'id à coté
J'ai l'impression que l'id se perd en chemin, et n'entre pas dans le controller, quelqu'un pourrait-il m'aider svp ?
Je lui en serait très reconnaissant car je bug sur ce ptit truc depuis pas mal de temps deja

deepblue deepblue
MP
Niveau 13
23 janvier 2017 à 10:40:03

$physiqueId devient $id dans la signature de ta méthode et le problème est réglé :ok:

Pseudo supprimé
Niveau 7
23 janvier 2017 à 10:44:50

Merci ca marche !
Comment ca se fait ? Il faut obligatoirement que le nom du paramètre soit pareil que le nom du paramètre de la route ?

deepblue deepblue
MP
Niveau 13
23 janvier 2017 à 16:43:07

Oui, sauf si tu utilises un ParamConverter (et ça serait idéal dans ce cas précis) : http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/converters.html

Message édité le 23 janvier 2017 à 16:43:23 par deepblue
DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment