我有一个实体如下:
private $username;
private $password;
private $createdAt; //datetime
我想在 doctrine 中运行查询以获取具有现有字段和另一个字段的实体(在这种情况下,一列显示 createdAt 和当前日期时间的差异(以分钟为单位)。 在 sql 中,我会运行如下查询:
select username, password, createdAt,TIMESTAMPDIFF(MINUTE , created_at, NOW()) AS minutes from users
在 Doctrine 中,我获取了如下实体:
$user = $em->getRepository('TestBundle:Users');
如何从 Doctrine 中获取自定义现场 session 记录?
最佳答案
你应该检查ResultSetMapping :
并检查如何添加 scalar result
$rsm = new ResultSetMapping;
$rsm->addEntityResult('Users', 'u');
$rsm->addFieldResult('u', 'id', 'id');
$rsm->addFieldResult('u', 'password', 'password');
$rsm->addScalarResult('minutes', 'minutes');
$query = $this->_em->createNativeQuery('select username, password, TIMESTAMPDIFF(MINUTE , created_at, NOW()) AS minutes', $rsm);
$users = $query->getResult();
关于symfony - 在 Doctrine 2 中获取自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350795/