Rumah  >  Soal Jawab  >  teks badan

Penukar parameter entiti Symfony tidak mendapat item laluan dengan betul

<p>Saya mempunyai laluan yang perlu mendapatkan kategori dan subkategori Laluan adalah dalam bentuk berikut: </p> <pre class="brush:php;toolbar:false;">#[Route('/{slug}/{subSlug}', name: 'subcategory')] #[Entity('kategori', expr: 'repository.findOneBySlug(slug)')] #[Entity('subkategori', expr: 'repository.findOneBySlug(subSlug)')] subcat fungsi awam(Kategori $cat, Subkategori $sub): Respons</pre> <p>Saya cuba mengakses <code>/mtg/dmr</code>, tetapi saya mendapat ralat 404 Object not found, disebabkan oleh @ParamConverter. Apabila saya melihat dalam log Doktrin, sistem sedang mencari dalam jadual yang betul, tetapi untuk kedua-duanya ia mencari <code>mtg</code> dan bukannya mencari <code>mtg</code> ; kod>dmr</kod>. Ada idea apa yang sedang berlaku? </p>
P粉885562567P粉885562567390 hari yang lalu392

membalas semua(1)saya akan balas

  • P粉129731808

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

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

    Jadi, dalam kes anda, anda mesti mempunyai:

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

    balas
    0
  • Batalbalas