繁体   English   中英

检查实体参数路由

[英]check entity parameter route

如何使用此方法检查元素是否存在:

#[Route('/edit/{id}', name: 'edit')]
public function edit(Category $category): Response
{
    //some code
    return $this->render('someView.html.twig');
}

就像这个方法一样:

#[Route('/edit/{id}', name: 'edit')]
public function edit($id, CategoryRepository $categoryRepository): Response
{
    $category= $categoryRepository->findOneBy(['id' => $id]);
    if (!$category) return $this->redirectToRoute('category_list');
    return $this->render('someView.html.twig');
}

你不能因为ParamConverter为你处理它。 如果没有找到 object,你在生产中会出现 404 错误。

如果您绝对想要自定义重定向或其他任何内容,则必须像第二个示例一样手动进行。

在您的第一个示例中,如果 id 参数与类别 object 不匹配,则会自动抛出未找到的异常,而在您的第二个示例中,您将手动执行此操作以根据类别重定向用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM