2015-10-21 57 views
0

我使用这个代码让所有用户在数据库排除某些领域中的findAll Symfony2的

$users= $this->getDoctrine() 
     ->getRepository('AppBundle:Users') 
     ->findAll(); 
     return $this->render('livre/users.html.twig',array(
      'users' => $users, 
     )); 

但我想只得到某些领域sush为nameemail和隐藏像password .. 谢谢领域。

+1

你有没有考虑过在视图中不提供密码? – jcroll

+0

对不起,我不明白 – user3057822

回答

4

您可以通过这种方式做到这一点:

1 /创建在UserRepository类的具体方法:

public function findByNameAndEmail() 
{ 
    $query = $this->createQueryBuilder('u') 
     ->select('u.name, u.email') // where name & email are properties of your User entity 
    ; 

    return $query->getQuery()->getResult(); 
} 

2 /和,称它在你的控制器:

public function someAction()  
{ 
    $users = $this->getDoctrine()->getRepository('AppBundle:Users')->findByNameAndEmail(); 

    return $this->render('livre/users.html.twig',array(
     'users' => $users, 
    )); 
} 
+0

如果因为任何原因你需要对象而不只是一个数组结果看看PARTIAL语法(这是部分水合对象):http://doctrine-orm.readthedocs.org/projects/学说-ORM/EN /最新/参考/局部objects.html – LBA