Sonata Admin Bundle自定义存储库`find()`方法

时间:2015-05-06 12:56:39

标签: symfony doctrine-orm sonata-admin

我刚刚安装了 Sonata Admin Bundle ,事实上,我有一个自定义存储库,我的一个实体使用了覆盖find()方法。它看起来像这样(其中有更多内容,但它无关紧要):

public function find($id)
{
    $query = $this->createQueryBuilder('blogArticle')
        ->select('blogArticle')
        ->where('blogArticle.id = :id')
        ->setParameter('id', $id)
        ->getQuery();

    return $query->getSingleResult();
}

它对项目来说非常好。但是,当我尝试通过 Sonata Dashboard 进行编辑时,编辑操作会产生错误:

  

SQLSTATE [HY093]:参数号无效:参数未定义

这是因为 Sonata 传递数组['id' => 1]而不是简单整数值,就像我使用getRepository()->find(1)方法一样。

我可以为回购邮件写一个kludge来处理这个,但显然不是一个选择。也许有人知道如何改变 Sonata 的行为,或者?

0 个答案:

没有答案