Jak vytvořit Selection pomocí ResultSet
- jimmeak
- Člen | 5
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 | 1280
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
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 | 1280
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 | 822
Snad jen udělat z toho komplikovaného dotazu pohled a z něj si vrátit select jako Selection.