Hallo,
ich beschäftige mich jetzt schon seit längerem mit der Extbase Entwicklung und habe auch großen Spaß daran gefunden. Doch nun stehe ich vor einem Problem, dass mir auch Google nach stundenlangem Befragen nicht beantworten kann.
Ich will vereinfach gesagt einen "Stundenplan" bastaln.
Dafür habe ich eine Tabelle "Tage" und eine Tabelle "Einträge".
Diese Tabellen sind m:n verknüpft.
Nun würde ich gerne alle Daten aus der Einträge-Tabelle auslesen aber sortiert nach den Wochentagen. Sprich der Wochentag als Überschrift und darunter eine Tabelle mit den Einträgen. Diese Einträge sollen nach der hinterlegten Uhrzeit sortiert werden.
Meine Vorgehensweise war nun, dass ich mir ein TagRepository anlege und mir die Tage auslese und zu jedem Tag die Einträge. Das Ganze wollte ich dann sortieren lassen.
Sobald ich allerdings "setOrderings()" auf die Spalte anwende, die mit der Einträge-Tabelle verknüpft ist und dort dann auf die Zeit zugreife, dann bleibt mein zurückgeliefertes Array immer leer. Wenn ich diese Zeile rausnehme bekomme ich alle Daten zurück, nur sind die Einträge nach der uid sortiert.
Wie kann ich nun die Sortierung für die Einträge-Tabelle vornehmen.
Meine Repository Funktion lautet wie folgt:
/**
* @param $tagIDs
* @return array
*/
public function findGruppen($tagIDs)
{
$query = $this->createQuery();
return $query->matching( $query->in('uid', $tagIDs)
)
->setOrderings(array(
'sorting' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING,
'eintraege.time' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING
))
->execute();
} // function
Demzufolge ist "eintraege" die Spalte in der Tabelle Tag, die die m:n Beziehung herstellt.
Wie gesagt, das ganze funktioniert auch ohne die zweite ordering-Anweisung.
Habe auch schon probiert im TCA "sortby", "default_sortby" oder foreign_table_where => "ORDER BY ...." zu setzen.
Alles ohne Erfolg.
Geht das überhaupt schon mit den aktuellen Mitteln?
Solltet ihr weitere Infos benötigen, fragt einfach nach. Werde die dann nachliefern.
Würde mich über eine Antwort sehr freuen.
Grüße
Codemonkey1988