suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Der Symfony-Entitätsparameterkonverter erhält Routenelemente nicht korrekt

<p>Ich habe eine Route, die Kategorien und Unterkategorien abrufen muss. Die Route hat die folgende Form: </p> <pre class="brush:php;toolbar:false;">#[Route('/{slug}/{subSlug}', name: 'subcategory')] #[Entity('category', expr: 'repository.findOneBySlug(slug)')] #[Entity('subcategory', expr: 'repository.findOneBySlug(subSlug)')] öffentliche Funktion subcat(Kategorie $cat, Unterkategorie $sub): Antwort</pre> <p>Ich habe versucht, auf <code>/mtg/dmr</code> zuzugreifen, habe aber den Fehler 404 „Objekt nicht gefunden“ erhalten, der durch @ParamConverter verursacht wurde. Wenn ich im Doctrine-Protokoll nachschaue, sucht das System in der richtigen Tabelle, aber für beide sucht es nach <code>mtg</code>, anstatt zuerst nach <code>mtg</code> zu suchen ;code>dmr</code>. Irgendwelche Ideen, was los ist? </p>
P粉885562567P粉885562567463 Tage vor454

Antworte allen(1)Ich werde antworten

  • P粉129731808

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

    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)
    {
    }

    所以,在您的情况下,您必须有:

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

    Antwort
    0
  • StornierenAntwort