2015-10-21 2 views
0

Я использую этот код для получения всех пользователей в базе данныхИсключить некоторые поля в FindAll Symfony2

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

Но я хочу получить только некоторые поля суши, как name, email и скрыть поля, как 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/ доктрина-ОРМ/о/последняя/ссылка/частичный objects.html – LBA

Смежные вопросы