0

当我从数据库中检索用户实体时,会显示密码属性。我想特别不显示表格中的某些属性。就像密码一样。在教义2中有这个配置吗?

我正在使用注释。:)

4

2 回答 2

1

正如 nifr 所说,我选择了我真正需要的东西。在 DQL 中,如果选择数据 user.name、user.address,它会从 join 的上下文中取出,并将数据放在数组的末尾。因此,为了解决这个问题,并继续保持 JOIN 的一致性,解决方案是制作一个 PARTIAL。所以代码是这样的:

SELECT project, pm, pu, dfp, df, collection, partial admin.{id}, admetas, cm 

当然,这只是 select 语句,但是当您执行 getArrayResult(); 时,admin.{id} 会坚持上下文并且不会“跳出”数组;

于 2013-07-18T20:01:50.843 回答
0

据我所知,在获取时没有“过滤器”仅删除某些属性。

在您的实体存储库中创建一个自定义查询并仅获取您真正需要的字段:

用户存储库

public function findAllUserNamesAndAddresses()
{
    return $this->createQueryBuilder('user')
       ->select(array('user.name','user.address'))
       ->getQuery()
       ->getResult()
   ;
}
于 2013-07-18T18:10:32.653 回答