Jak vytvořit Selection pomocí ResultSet

jimmeak
Člen | 5
+
0
-

Ahoj,

potřeboval bych si vytvořit komplikovanější sql dotaz, a tak jsem zvolil $db->query('...'), která ale vrací jako typ ResultSet. Samotnému by mi to nevadilo, ale dělám to v rámci většího kódu, který předpokládá, že data dostane v objektu Selection.

Nedaří se mi nikde najít, jak ResultSet předělat do Selection. Je to vůbec možné?

Jedná se o Nette 2.4 na PHP 7.4.

Díky,
Jimmy

Marek Bartoš
Nette Blogger | 1169
+
0
-

Vytvoř si z databázových dat nějaký vlastní, type-safe objekt a vyžaduj ten. Obecně se hodí mít co nejdřívě jasnou strukturu dat a nepsat vše proti tomu, jak aktuálně vypadá databáze.

jimmeak
Člen | 5
+
+1
-

Pokud by to byl projekt, který teď vytvářím, tak bych to tak udělal, ale bohužel tohle je starší věc. Potřeboval bych skutečně vědět přesně to, na co se ptám, a ne to, jak to udělat jinak. Na tom systému je závislých plno dalších lidí a všechny automatizace prostě počítají se selection, která byla tak protěžovaná v době, kdy ten projekt vznikal.

Marek Bartoš
Nette Blogger | 1169
+
+1
-

Tak to se obávám že neuděláš. Zatímco Selection reprezentuje filtrovanou tabulku a její vazby, tak ResultSet reprezentuje výsledek libovolného dotazu. Selection jde konvertovat na ResultSet, ale naopak to nejde – není jak.

Kamil Valenta
Člen | 762
+
+5
-

Snad jen udělat z toho komplikovaného dotazu pohled a z něj si vrátit select jako Selection.