[英]Symfony3 Doctrine querybuilder
我正在使用Doctrine ORM编写Symfony3应用程序。
我有一个实体,其中包含我的所有属性以及其设置方法和获取方法。
尝试构建以便我可以根据电子邮件地址检索行。
my query:
/**
* @param $email
*/
public function getUserByEmail($email)
{
$repository = $this->db->EntityManagerORM()
->getRepository('TestBundle:User');
$query = $repository->createQueryBuilder('t')
->where('t.emial = :email')
->setParameter(':email', $email)
->getQuery();
$test = $query->getResult();
var_dump($test);
$ this-> db是EntityManager,它是一项服务,在我的__construct中实例化。 所以我要做的就是检索实体,他们创建了一个queryBuilder,我想在其中检索电子邮件==到给定电子邮件的整行。
我得到的回应:
"Notice: Undefined index: [Semantical Error] line 0, col 63 near 'emial
=:ema':错误:类Test \\ TestBundle \\ Entity \\ User没有字段或
名为emial的协会”
我的代码中有任何可疑的...。
在setParameter函数中不需要:
。
代码中的另一件事是,User表没有名称为emial
列。 仔细检查并用适当的名称替换。
因此,您的查询将如下所示:
$query = $repository->createQueryBuilder('t')
->where('t.RIGHT_COLUMN_NAME = :email')
->setParameter('email', $email)
->getQuery();
在上面的代码中,将RIGHT_COLUMN_NAME
替换为正确的列名。
这是电子邮件的拼写。 更改为此:
$query = $repository->createQueryBuilder('t')
->where('t.email = :email')
->setParameter(':email', $email)
->getQuery();
那应该解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.