如何按id获取数据库中的行数? SELECT count(*) FROM members;
没有性能问题。使用实体管理器编写此查询的方法有哪些?我正在使用php version 5.6
和symfony 3
你必须使用你的实体存储库在其中添加一个函数并编写如下内容:
$queryBuilder = $this->_em->createQueryBuilder()
->select('COUNT(e)')
->from('AppBundle:Entity', 'e');
return $queryBuilder->getQuery()->getSingleScalarResult();
编辑:刚刚看到格雷瓜尔的回答。那会起作用。但是,如果您已经拥有具有关系的实体,并且它已初始化,则以下内容将允许您获取此信息,而无需对数据库进行其他查询。
您可以使用关联并从集合中获取它(请参阅文档中的处理关联
class SomeEntity
{
/**
* @var Collection|Member[]
*/
protected $members;
// other properties
// PHP >= 7 -> public function countMembers(): int
public function countMembers()
{
return $this->getMembers()->count();
}
// PHP >= 7 -> public function getMembers(): Collection
public function getMembers()
{
return $this->members;
}
// other getters/setters
}