2017-01-05 3 views
0

ich von DB nur nameSurname wählen:, wie man wählen Sie alle Felder in SYMFONY 3.x

$em = $this->getContainer()->get('doctrine')->getManager(); 
$users = $em->createQuery('SELECT u.nameSurname FROM MyBundle:User u') 
      ->getResult(); 

var_dump($users); 
exit; 

Aber wie alle Felder in SYMFONY 3.x wie einfache SQL-Abfrage wählen?

 select * from table 

UPD, die nicht arbeiten, arbeiten, zeigen aber viel mehr und keine Informationen Mitglieder halten i

$users = $em->createQuery('SELECT u FROM MyBundle:User u') 
      ->getResult(); 
+0

Mit Ihrem letzten Code, Sie alle Benutzer Entitäten abrufen werden, mit allen Benutzerfelder. – Veve

+0

Verwenden Sie QueryBuilder – zalex

+0

Was bedeutet das "UPD das funktioniert nicht, arbeite aber viel mehr und nicht Benutzerinformationen, die ich denke"? Was angezeigt wird, ist Ihre Entität Benutzer, kann es andere Sache erweitert werden? Oder Ihr ORM ist nicht gut konfiguriert. – COil

Antwort

0

Dies sollte alle Benutzerentitäten zurück:

$users = $em->createQuery('SELECT u FROM MyBundle:User u') 
      ->getResult(); 

Jetzt $users enthält alle Benutzerinformationen.

0

Warum nicht so?

spezifischen Benutzer wählen:

$user = $this->getDoctrine()->getRepository('MyBundle:User')->find($userId); 
$userName = $user->getName(); 
$userEmail = $user->getEmail(); 
etc... 

alle Benutzer wählen:

$users = $this->getDoctrine()->getRepository('MyBundle:User')->findAll(); 
+0

Ich erweitere ContainerAwareCommand und wenn ich 'getDoctrine()' darin verwende, erhalte ich den Fehler > Versuch, eine undefinierte Methode aufzurufen Name "getDoctrine" der Klasse ... MyExampleCommand erweitert ContainerAwareCommand – Mik777

+0

Wenn ich verstehe, funktioniert getDoctrine(), wenn meine Klasse erweitert Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller http://Stackoverflow.com/a/20682611/6250381 – Mik777

Verwandte Themen