我正在使用Doctrine ORM编写Symfony3应用程序。Symfony3 doctrine orm查找方法
所以我想要做的是找到一个给定的电子邮件地址是否存在一张表(每封电子邮件是唯一的)。所以我有一个用户存储库的一些属性,我可以很容易地坚持数据到数据库但未能检索数据。
/**
* @param $email
*/
public function findUserByEmail($email)
{
$user = $this->getDoctrine()
->getRepository('TestBundle:TestUser')
->find($email);
if (!$user) {
echo 'Error';die();
}
}
我知道传递给函数的变种中包含电子邮件字符串,但我所得到的回报是错误,当我的,如果statment之前的var_dump $用户我得到空。
我跟着Symfony的docs
好的可能是这样的,因为ID是主键,但findOneByEmail不是一个有效的getDoctrine方法...? – John
实际的方法不存在,但教义通过[魔法__call'方法](http://php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods)捕获它。在实体的存储库上,并将其转换为通过电子邮件进行选择。 – NDM
我现在就试试这个,但是有一种感觉,必须有一个更简单的解决方案才能从Doctrinebox中获得更多的东西 – John