2016-04-23 10 views
0

Ich habe für somewhile auf diese geklebt:Symfony/Lehre: die erste Maximalwert aus der Datenbank Erste

ich den Wert extrahieren möchten ‚Punkte‘ von meinem Tisch ‚Seuils‘ von der Säule mit einem DESC Sortier "Datevalidit".

Die SQL funktioniert:

SELECT points FROM seuils ORDER BY datevalidite DESC 

Aber der Code, den ich in die Steuerung meines Symonfony implementiert haben gibt mir eine Fehlermeldung:

$dataSeuils = $this->getDoctrine()->getManager(); 
$seuils = $dataSeuils->createQuery(
    'SELECT points 
    FROM AppBundle:Seuils 
    ORDER BY datevalidite DESC')->getResult();  

Und hier ist die Fehlermeldung:

[Syntax Error] line 0, col 53: Error: Expected end of string, got 'BY'

500 Internal Server Error - QueryException

1 linked Exception:

QueryException »

Am Ende muss ich die Attributpunkte meiner Entität extrahieren, die zurückgegeben wird.

Aber ich verstehe wirklich nicht, warum es in phpMyAdmin (The SQL) richtig funktioniert, aber nicht in Symfony.

Hier ist ein snipp meiner SQL-Code, der die Tabelle erstellt:

CREATE TABLE `seuils` (
    `points` int(11) NOT NULL, 
    `datevalidite` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

Antwort

0

Versuchen Hinzufügen eines Tabellenalias in Ihrer DQL wie folgt:

$seuils = $dataSeuils->createQuery(
      'SELECT s.points 
      FROM AppBundle:Seuils s 
      ORDER BY s.datevalidite DESC')->getResult(); 

Hope this Hilfe

1

können Sie Verwenden Sie Repository:

$dataSeuils = $this->getDoctrine()->getRepository('AppBundle:Seuils'); 

$seuils = $dataSeuils->createQueryBuilder('points')->orderBy('points.datevalidite', 'DESC')->getQuery()->getResult(); 
Verwandte Themen