Hi Johannes

Wenn ich deine Angaben richtig interpretiere besitzt das Modell cruise ua. folgende Properties: tour (A, B, C, ...), price (1000, 900, 950, ...) und cabin (Selectbox -> Modell cabin [X, D, L, ...]). Mit folgender Abfrage im cruiseRepository bekommst du alle Objekte mit der gewünschten Sortierung:

public function findAll...() {
  $query = $this->createQuery();
  $query->setOrderings(array(
'tour' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING, 'price' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
  ));
  return $query-->execute();
}
Liebe Grüsse. Thomas

Am 22.05.2014 19:57, schrieb JCL - Johannes C. Laxander:

Hallo,

leider ist das Ergebnis immer noch unsortiert. Aber mir ist aufgefallen, dass 
ich mein Beispiel nicht vollständig und vllt nich ganz korrekt dargestellt habe.

Ich möchte über ein FLUIDTEMPLATE die Ergebnismenge in einer bestimmten 
Sortierung ausgeben (cruise ist mein Domain Object):

cruise-A -> priceAssignment-1: 1000 € -> cabinCategory-1: code=X
cruise-A -> priceAssignment-2:  900 € -> cabinCategory-2: code=D
cruise-A -> priceAssignment-3:  950 € -> cabinCategory-3: code=L
cruise-B ...

Sortiert nach cabinCategory.code:

cruise-A -> Kategorie-D, 900 €
cruise-A -> Kategorie-L, 950 €
cruise-A -> Kategorie-X, 1000 €

Im Moment entspricht die Sortierung der cabinCategory ID, also 1,2,3 und somit 
X,D,L.
Wo und wie muss ich mein setOrderings() angeben damit ich die gewünschte 
Sortierung erhalte???

Gruß, Johannes.


JCL - Johannes C. Laxander
Gesendet: Samstag, 17. Mai 2014 23:45

Hallo Thomas,

danke für den Hiweis, da habe ich das wohl falsch verstanden
und angewendet. Ich werde es nach deinem Vorschlag machen.

Johannes.

[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Thomas
Nussbaumer
Gesendet: Samstag, 17. Mai 2014 10:52

Hi Johannes

Ich verwende folgende Repository-Klasse um *immer* zu sortieren. Im
Controller genügt dann der Aufruf von findAll(). In deiner Funktion
ist $query-->setOrderings(...
nur ein Zusatz. Es fehlen $query-->matching(... und return
$query-->execute();

/**
   * A repository for person
   */
class Tx_Kernaarau_Domain_Repository_PersonRepository extends
Tx_Extbase_Persistence_Repository {

        protected $defaultOrderings = array('name' =>
Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING);
}
Liebe Grüsse. Thomas
(Bitte entschuldige meinen Tippfehler vor einer Woche)

Am 16.05.2014 10:42, schrieb JCL - Johannes C. Laxander:

Hallo,

ich möchte die Ergebnismenge einer 1:n Relation in einer
bestimmten Sortierung ausgeben:

cruise-A -> Kategorie-X, 1000 €
cruise-A -> Kategorie-D, 900 €
cruise-A -> Kategorie-L, 950 €

Sortiert:

cruise-A -> Kategorie-D, 900 €
cruise-A -> Kategorie-L, 950 €
cruise-A -> Kategorie-X, 1000 €

Dafür habe ich in der Repository-Klasse diesen Code:

public function findAllSortByCabinCategory() {
    $query = $this->createQuery();
    $query->setOrderings(array(
      'cabinCategory' =>
\TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
    ));
}

Funktionsaufruf im Controller:

$cabinPricePerPersons =

$this->cabinPricePerPersonRepository->findAllSortByCabinCategory();
$this->view->assign('cabinPricePerPersons',
$cabinPricePerPersons);

Die Ausgabe erscheint aber nach wie vor "unsortiert".
Jemand eine Erklärung dafür? Wo liegt der Fehler?

Gruß, Johannes.


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an