symfony - 在 Doctrine 2 中获取自定义字段

标签 symfony doctrine doctrine-orm

我有一个实体如下:

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/

相关文章:

symfony - Doctrine Query Builder, "between"表达式和子查询

Symfony2 - 在开发模式下重定向来自请求 EventListener 的响应,同时忽略内置的请求事件

php - 绕过 symfony2 中的 findBy 强制小写作为第一个字母

symfony - 有订单的Symfony2灯具-更好的方法

symfony - 使用 "namespace"在 Symfony2 中使用 Doctrine 创建一个新实体

symfony - 在 Controller 中使用什么代替 getRequest()->get(...)

php - 找不到 ID id(155) 类型为 'AppBundle\Entity\User' 的实体

php - 转义文字,使其用双引号引起来

symfony - Doctrine Timestampable 扩展不持久

php - 带有别名的 SUM() 字段上的 Doctrine orderBy