recherche

Maison  >  Questions et réponses  >  le corps du texte

Le convertisseur de paramètres d'entité Symfony n'obtient pas correctement les éléments de route

<p>J'ai un itinéraire qui doit obtenir des catégories et des sous-catégories. L'itinéraire se présente sous la forme suivante : </p> <pre class="brush:php;toolbar:false;">#[Route('/{slug}/{subSlug}', nom : 'sous-catégorie')] #[Entity('category', expr: 'repository.findOneBySlug(slug)')] #[Entity('subcategory', expr: 'repository.findOneBySlug(subSlug)')] fonction publique subcat(Catégorie $cat, Sous-catégorie $sub) : Réponse</pre> <p>J'ai essayé d'accéder à <code>/mtg/dmr</code>, mais j'ai obtenu une erreur 404 Objet introuvable, provoquée par @ParamConverter. Lorsque je regarde dans le journal Doctrine, le système recherche dans le bon tableau, mais pour les deux, il recherche <code>mtg</code> au lieu de rechercher d'abord <code>mtg</code> ; code>dmr</code>. Avez-vous une idée de ce qui passe? </p>
P粉885562567P粉885562567442 Il y a quelques jours443

répondre à tous(1)je répondrai

  • P粉129731808

    P粉1297318082023-08-29 19:01:43

    Exemple DOC :

    #[Route('/blog/{date}/{slug}/comments/{comment_slug}')]
    #[ParamConverter('post', options: ['mapping' => ['date' => 'date', 'slug' => 'slug']])]
    #[ParamConverter('comment', options: ['mapping' => ['comment_slug' => 'slug']])]
    public function showComment(Post $post, Comment $comment)
    {
    }

    Donc, dans votre cas vous devez avoir :

    #[Route('/{slug}/{subSlug}', name: 'subcategory')]
    #[ParamConverter('cat', options: ['mapping' => ['slug' => 'slug']])]
    #[ParamConverter('sub', options: ['mapping' => ['subSlug' => 'slug']])]
    public function (Category $cat, Subcategory $sub): Response
    {
    }

    répondre
    0
  • Annulerrépondre