当我从数据库中检索用户实体时,会显示密码属性。我想特别不要从表中显示一些属性。喜欢密码。在doctrine2中是否有这样的配置?
我正在使用注释。 :)
答案 0 :(得分:1)
正如nifr所说,我选择了我真正需要的东西。 在DQL中,如果选择数据user.name,user.address,它将取出连接的上下文,并将数据放在数组的末尾。因此,为了解决这个问题,并继续保持JOIN的一致性,解决方案是制作PARTIAL。所以代码就像:
SELECT project, pm, pu, dfp, df, collection, partial admin.{id}, admetas, cm
当然这只是select语句,但是当你执行getArrayResult()时,admin。{id}会粘在上下文中而不会“跳出”数组;
答案 1 :(得分:0)
据我所知,在提取时没有“过滤器”只删除某些属性。
在实体存储库中创建自定义查询,并仅获取您真正需要的字段:
<强> UserRepository 强>
public function findAllUserNamesAndAddresses()
{
return $this->createQueryBuilder('user')
->select(array('user.name','user.address'))
->getQuery()
->getResult()
;
}