Symfony 如何定义findOneBy($criteria)函数?

Symfony 如何定义findOneBy($criteria)函数?,symfony,doctrine-orm,Symfony,Doctrine Orm,我对Symfony2非常陌生,设计了一个简单的登录系统。用户类, 路由器、控制器类一切正常。我坚持 userRepository类 我的控制器部分是: 使用Symfony2时,这不是处理身份验证的最佳方式。看看与Symfony2的集成 所以,检查的一部分,您需要实现/配置的只是处理身份验证和 申请授权 但是… 下面是对常见问题的回答:如何为给定的存储库类定义findOneBy(parameter1,parameter2)函数 首先,将实体映射到适当的存储库,如下所示: /* * @ORM\En

我对Symfony2非常陌生,设计了一个简单的登录系统。用户类, 路由器、控制器类一切正常。我坚持 userRepository类

我的控制器部分是:


使用Symfony2时,这不是处理身份验证的最佳方式。看看与Symfony2的集成

所以,检查的一部分,您需要实现/配置的只是处理身份验证和 申请授权

但是…

下面是对常见问题的回答:如何为给定的存储库类定义findOneBy(parameter1,parameter2)函数

首先,将实体映射到适当的存储库,如下所示:

/*
 * @ORM\Entity(repositoryClass="YourNamespace\YourBundle\Entity\yourRepository")
 */
class YourEntity
{
    // ...
}
    $em= $this->getDoctrine()->getManager();
    $yourEntityInstance = $em->getRepository("yourNamespaceYourBundle:YourEntity")
               ->findOneBy($parameter1, $parameter2);
然后,您应该添加映射的存储库类并实现一个
findOneBy(parameter1,parameter2)
方法

然后,您可以在控制器中访问该类,如下所示:

/*
 * @ORM\Entity(repositoryClass="YourNamespace\YourBundle\Entity\yourRepository")
 */
class YourEntity
{
    // ...
}
    $em= $this->getDoctrine()->getManager();
    $yourEntityInstance = $em->getRepository("yourNamespaceYourBundle:YourEntity")
               ->findOneBy($parameter1, $parameter2);

以及如何在repository类中定义findOneBy($parameter1,$parameter2)函数。已经有一个本地findOneBy()方法可以使用,所以我不太理解重写它的必要性。除非你需要改变它的行为方式?