Jak odstranit řádek z výběru, pokud je primární klíč více, než jeden sloupeček?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
fary
Člen | 155
+
+1
-

Jak bych mohl ze selection odstranit nepotřebné řádky v případě, že tabulka pro primární klíč definuje více, než jeden sloupeček? Pomocí Nette\Database\Table\Selection::offsetUnset() se mi to nedaří, protože argument musí být řetězec. Bylo by dobré, kdyby se tam dalo vložit pole, něco jako ‚array('row_a‘ ⇒ 1, ‚row_b‘ ⇒ 2)'. Existuje nějaký způsob, jak se takových sloupečků ze selection zbavit?

fary
Člen | 155
+
0
-

Myslím, že už jsem na to přišel. Když použijete Nette\Database\Table\Selection::fetchAll(), získáte pole jednotlivých řádků. Indexy, na kterých tyto jednotlivé řádky jsou, jsou pojmenovány podle primárních klíčů v tomto tvaru: pk1[|pk2[|pkn]], tedy např: 1|2, takže pokud potřebujete z výběru odmazat, použijte např: Nette\Database\TableSelection::offsetUnset(‚1|2‘)`.