【发布时间】:2016-08-28 19:15:44
【问题描述】:
我在 Symfony 2.8 中使用 FOSUserBundle 和 FOSRestBunldle 并且必须获得一个随年龄增长的简短用户列表,但是没有字段用户数据库中的“年龄”,这就是为什么我的用户实体类有这个自定义 getter 来计算出生日期字段的年龄
public function getAge()
{
$now = new \DateTime('now');
$age = $this->birthdate->diff($now);
return $age->format('%y');
}
使用“u.age”获取我的用户列表并将其序列化为 json 不起作用,因为没有与 u.age
关联的真实字段$query = $em->createQuery('SELECT u.username, u.age FROM AppBundle:User u');
$users = $query->getResult();
将存储库与->findAll() 一起使用会得到年龄,但还会加载许多其他相关实体(用户的帖子、cmets),这些实体在这里不需要,而且会有点过载。
我怎样才能获得我的用户列表,其中只有他们的用户名和相应的年龄?
感谢您的帮助!
【问题讨论】:
标签: symfony doctrine-orm fosuserbundle dql fosrestbundle