Standardmäßiges Sortierattribut für Doctrine Model

8

Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Standardreihenfolge für meine Doktrinmodelle zu deklarieren.

z.B.

Ich habe ein work -Modell und es hat photos . Wenn ich eine Arbeit lade, werden alle damit verknüpften Fotos in $work->photos geladen. Wenn ich sie anzeigen lasse, werden sie nach ihren IDs sortiert.

Es wäre sehr praktisch, eine Standardreihenfolge für ein anderes Feld zu definieren oder das Abrufverhalten altoghether zu überschreiben.

Ich möchte die Fotos lieber nicht in ein Array konvertieren und usort verwenden. Danke.

    
Nacho 26.01.2011, 22:37
quelle

3 Antworten

9

Sie können es wie folgt in der YAML angeben:

Wenn es eine Sortierreihenfolge für ein Feld in der Tabelle selbst ist, fügen Sie hinzu:

%Vor%

wobei options: dieselbe Tiefe hat wie ein columns: oder relations: Eintrag. NB: Die Kapitalisierung von orderBy: ist von entscheidender Bedeutung; mach es falsch und du wirst keinen Fehler bekommen, aber auch keine Sortierung.

Wenn es sich um eine Sortierreihenfolge für eine Beziehung handelt, können Sie innerhalb der Beziehung den options: -Teil überspringen und einfach einfügen:

%Vor%     
borrible 28.01.2011, 14:06
quelle
4

OK, ich bin dank dieses Beitrags hier hergekommen: Ссылка

In meinem Fall hatte die BaseWork.php Datei diese Änderungen:

%Vor%

Jedenfalls wäre es besser, dies in schema.yml anzugeben, was ich nicht ausführen konnte.

    
Nacho 26.01.2011 23:41
quelle
0

Ich weiß nicht das erste, was die Doktrin betrifft, aber es sieht so aus, als könnten Sie eine order by-Klausel angeben, wenn Sie create () aufrufen.

Ссылка

    
Brian L 26.01.2011 22:41
quelle

Tags und Links