extending die DAL mit custom queries

Hallo Shopware!

Während wir versuchen, Shopware 6-Plugins zu entwickeln, stoßen wir auf eine neue Frage.

Wir haben eine custom Entity, die wir in unserem Controller abrufen (und filtern) können. Soweit so gut, solange wir die Standardkriterien verwenden.
Aber … wir möchten custom SQL-queries in kombination mit dem DAL verwenden.

Gibt es eine dokumentation oder ein beispiel zum einrichten eigener Kriterien mit verwandten SQL-Abfragen?

Beispiel: Wir möchten unsere Entity mit zusätzlichen Kriterien anfordern.

Der folgende code funktioniert wie erwartet:

$criteria = new Criteria();

$searchValue = 'abc'

$criteria->addFilter(
   new ContainsFilter('entityColumn1', $searchValue)
);

// search custom Entity by criteria
$results = $this->customRepository->search($criteria, $context);

// default criteria funktioniert wie
SELECT * FROM `customEntity` WHERE `entityColumn1` = 'abc';

 

Aber wir suchen etwas wie:

$criteria = new Criteria();

$searchValue = 'abc'
$customValue2 = '123';
$customValue3 = '456';
$customValue4 = '789';

// standard filter
$criteria->addFilter(
   new ContainsFilter('entityColumn1', $searchValue)
);

// additional custom filter
$criteria->addFilter(
   new CustomFilter($customValue2, $customValue3, $customValue4)
);

// search custom Entity by criteria
$results = $this->customRepository->search($criteria, $context);

// custom query gewünschte Funktionalität zum beispiel
SELECT * FROM `customEntity` WHERE `entityColumn1` = 'abc' AND ((`entityColumn2` * $customValue2) + (`entityColumn3` * $customValue3) + (`entityColumn2` * $customValue4) +) as `calculatedValue`

 

Ich hab das gleiche Problem!

Hast du eine Lösung gefunden?

Hallo, 

habt ihr euch mal die Aggregations angeschaut? Shopware 6: DAL references

Viele Grüße aus Schöppingen

cool Michael Telgmann