隐藏doctrine2查询中的特定列

时间:2013-07-18 17:55:31

标签: symfony join doctrine

当我从数据库中检索用户实体时,会显示密码属性。我想特别不要从表中显示一些属性。喜欢密码。在doctrine2中是否有这样的配置?

我正在使用注释。 :)

2 个答案:

答案 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()
   ;
}