Nextras/ORM – DELETE WHERE conditions

sd
Člen | 87
+
0
-

Ahoj,
učím se s Nextras/ORM a narazil jsem na problém – je možné nějak smazat řádky v DB odpovídající daným podmínkám jedním SQL příkazem? – chtěl bych docílit například:

DELETE FROM 'table_name' WHERE date < ..

V dokumentaci je, že si mám vytvořit kolekci a foreach-em se proiterovat přes všechny entity – což ale vytvoří n SQL příkazů.

Díky moc.

Editoval sd (18. 3. 2020 2:56)

Barbarossa
Člen | 74
+
+1
-

Ahoj, ano vytvoří to n transakcí, které pak flushneš $repo->flush(). V mnoha ohledech je to dobrý přístup (třeba v datagridech), ale pokud těch záznamů je opravdu hodně (tisíce), tak bych si naspal metodu do mapperu.

sd
Člen | 87
+
0
-

Chápu, díky moc za info. Potenciálně to právě může být dost záznamů, proto to řeším. Vyřešil jsem to tedy přes ten Mapper.

Jen jsem si musel mapper přímo injectnout do fasády – je to tak best-practise? Nebo bych si měl vždycky injektovat celé ORM (asi EntityModel)?