Symfony實體參數轉換器無法正確取得路由項
P粉885562567
P粉885562567 2023-08-28 22:55:25
0
1
439
<p>我有一個需要取得類別和子類別的路由,路由的形式如下:</p> <pre class="brush:php;toolbar:false;">#[Route('/{slug}/{subSlug}', name: 'subcategory')] #[Entity('category', expr: 'repository.findOneBySlug(slug)')] #[Entity('subcategory', expr: 'repository.findOneBySlug(subSlug)')] public function subcat(Category $cat, Subcategory $sub): Response</pre> <p>我嘗試訪問 <code>/mtg/dmr</code>,但是我得到了一個404的物件未找到錯誤,由@ParamConverter引起。 當我在Doctrine日誌中查看時,系統在正確的表中查找,但是對於兩個都在尋找<code>mtg</code>而不是先找<code>mtg</code>然後找< code>dmr</code>。有什麼想法是怎麼回事嗎? </p>
P粉885562567
P粉885562567

全部回覆(1)
P粉129731808

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
{
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!