排除findAll Symfony2中的某些字段

时间:2015-10-21 19:16:10

标签: symfony doctrine-orm

我使用此代码获取数据库中的所有用户

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

但我想要的只是将nameemail作为一些字段,并隐藏password之类的字段。 感谢。

1 个答案:

答案 0 :(得分: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,
    ));
}