gpt4 book ai didi

symfony - 用于检索实体的路由器和 {slug}

转载 作者:行者123 更新时间:2023-12-02 20:02:00 24 4
gpt4 key购买 nike

在一个实体中,我使用 DoctrineExtension 定义了一个 slug,我在 href 中使用它。但是...我的 Router 和/或 ParamConverter 有问题。

在我的 Controller 中:

/**
* @Route("/{slug}", name="strain_view")
* @ParamConverter("strain", class="AppBundle:Strain", options={
* "repository_method" = "findOneWithAll",
* })
* @Security("is_granted('STRAIN_VIEW', strain)")
*/
public function viewAction(Strain $strain)
{
return $this->render('strain/view.html.twig', [
'strain' => $strain,
]);
}

我有这个错误:

SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

在调试栏中,我发现问题出在数组中的数组:

Parameters: [ 0 => [ slug => t1p-0004-e-coli-pgem-t-promupf3-leu2-termupf3 ] ]

当我用 {id} 替换 @Route: {slug} 并手动输入网址时,我已经

Parameters: [0 => t1p-0004-e-coli-pgem-t-promupf3-leu2-termupf3]

而且......这是工作,但在我的存储库中我已经:

public function findOneWithAll($slug)
{
$query = $this->createQueryBuilder('strain')
->where('strain.slug = :slug')
->setParameter('slug', $slug)
->getQuery();

我不明白为什么。

最佳答案

简单地说:

/**
* @ParamConverter("strain", options={"mapping": {"slug": "slug"}})
*/

关于symfony - 用于检索实体的路由器和 {slug},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42417744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com