Php 使用symfony原则从数据库表中检索字段

Php 使用symfony原则从数据库表中检索字段,php,symfony,doctrine-orm,doctrine,Php,Symfony,Doctrine Orm,Doctrine,我试图创建一个api,使用symfony2原则从数据库检索字段,但查询一直返回未找到的结果。这是我的尝试 /** * @Route("/get/{email}") */ public function emailAction($email) { $singleresult = $this->getDoctrine()->getRepository('Api3Bundle:Influ')->find($email); if ($singleresult ==

我试图创建一个api,使用symfony2原则从数据库检索字段,但查询一直返回未找到的结果。这是我的尝试

 /**
 * @Route("/get/{email}")
 */
 public function emailAction($email)
 {
   $singleresult = $this->getDoctrine()->getRepository('Api3Bundle:Influ')->find($email);
   if ($singleresult === null) {
   return new View("user not found", Response::HTTP_NOT_FOUND);
   }

请告诉我如何修改上述url,以便在调用uri端点时让它在参数中返回电子邮件。

如果您的实体中有一个名为“email”的字段,您可以使用findOneByEmail(),它是一个基于列值查找单个对象的动态方法名称:

->getRepository('Api3Bundle:Influ')findOneByEmail($email);
您还可以使用findOneBy()方法根据多种条件轻松获取对象,例如,您希望检索电子邮件,但仅当它处于活动状态时,在这种情况下,您可以传递并排列:

->getRepository('Api3Bundle:Influ')findOneBy(
        array('email' => $email, 'active' => 1)
);

请阅读并相应更新您的问题。请尝试->findOneBy(数组('email'=>$email))而不是->find($email),谢谢Mathieu…不客气!