Le convertisseur de paramètres d'entité Symfony n'obtient pas correctement les éléments de route
P粉885562567
P粉885562567 2023-08-28 22:55:25
0
1
438
<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粉885562567
P粉885562567

répondre à tous(1)
P粉129731808

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
{
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!