我试图执行一些简单的查询,但我总是得到这个异常
[语法错误]line 0, col 157: Error: Expected end of string, got"内部"
这是我的查询:
public function hasRecord($user, $event)
{
$q = $this->getEntityManager()->createQuery("
select count(h.id) from TskFEBundleEntityHistory h
inner join h.user u where u.id = :user
inner join h.event v and v.id = :event
");
$q->setParameters([
"user" => $user,
"event" => $event
]);
return $q->getSingleScalarResult();
}
如何执行两个内连接?我的查询有问题吗?
您应该在where
子句之前执行连接:
public function hasRecord($user, $event)
{
$q = $this->getEntityManager()->createQuery("
select count(h.id) from TskFEBundleEntityHistory h
inner join h.user u
inner join h.event v
where u.id = :user
and v.id = :event
");
$q->setParameters([
"user" => $user,
"event" => $event
]);
return $q->getSingleScalarResult();
}