Nextras\ORM – vlastní typy

sd
Člen | 87
+
0
-

Ahoj,
vyplynula mi v aplikaci používající Nextras ORM použít geo featur Postgresu (přesněji jeho rozšíření PostGIS – polygon, point, ST_Contains atd.).

Otázka tedy je: Je možné si v Nextras\ORM dodefinovat svoje datové typy a modifikovat SQL select query pro dané sloupce (např. když mám POLYGON a chtěl bych si ho fetchovat rovnou jako GeoJSON – tedy SELECT ST_AsGeoJson(tblName.colName) as colName ).

Bylo by také super to mít rovnou v definici entity – něco jako toto:

/**
 * @property int $id {primary}
 * @property string $name
 * @property Polygon $area
 */
class GeoArea extends AbstractEntity
{

}

Koukal jsem na rozšíření Nextras\ORM. Dalo by se použít analogie MappingFactory ->AddCryptoMapping, ale v tom případě bych neměl v @property Polygon a musel bych v mapperu vždycky každý sloupec, který je Polygon/Point/… zaregistrovat i v Mapperu (viz zde).

Je nějaké hezké řešení?

Díky moc!

S Nextras ORM se mi pracuje super i co se týče rychlosti je super, nerad bych tedy migroval na Doctrine :|

Editoval sd (2. 8. 2020 21:59)

hrach
Člen | 1834
+
+1
-

Vytvoril jsem feature request: https://github.com/…m/issues/443

Nyni mas podle me tyto moznosti (nutne oboji):

  • specifikovat si select manualne, aby tam byla potrebna funkce
  • vytvorit property wrapper (orm 4.0, driv se jmenuje property container) a v nem si vstup parsovat a exportovat zpet to stringu s geometrii.

PS: Nette forum neni oficialni support channel, prosim pouzivat spise GitHub issues/Slack Pehapkari.

Editoval hrach (3. 8. 2020 13:17)

sd
Člen | 87
+
0
-

Dobře, díky moc za info!