mapbender/data-source

Mapbender数据源处理器


README

此存储库已弃用。其功能将在2.0版本中集成到mapbender digitizer存储库中,代码已迁移到develop分支。请在那里提出任何更改。

旧描述:Mapbender数据源模块

将原始Doctrine表抽象为存储库的组件。

基本DataStore是一个存储库,它将加载的行提升到DataItem对象,并在更新/插入时也支持DataItem对象。

FeatureType是一个具有空间数据支持的扩展存储库类型。它加载/存储Feature对象,并提供专门的方法来访问/替换几何形状。几何形状在内部始终是EWKT,但提供了方法来获取/更新纯WKT或SRID。

每个表只支持单个几何列。

主要存储库方法

方法search从表中加载所有行,并将它们提升到DataItem / Feature对象的数组。接受一组控制参数。允许的参数有maxResultswhere(字符串;额外的SQL where子句)。FeatureType还支持参数srid(显式几何输出SRID)和intersect(字符串;(E)WKT几何形状以空间限制结果)。

方法count接受与搜索相同的参数,但只返回匹配的行数。

方法getById加载一个DataItem / Feature。跳过过滤器。

方法saveinsertupdate执行存储。《save》根据传递的参数中是否存在id自动推断为插入或更新。这些方法接受DataItem / Feature对象或数组。受影响或新的行将被重新加载并返回为DataItem / Feature对象。

方法delete删除与id或特定DataItem / Feature对象对应的行。

配置存储库

命名DataStore / FeatureType存储库可以通过容器参数(分别对应于dataStoresfeatureTypes)进行全局预配置,或从配置数组中即时实例化。

DataStore配置支持以下值

注意:您不应该尝试将空间数据放入包含您的Doctrine实体的“默认”数据库中。您将遇到运行Doctrine模式更新的错误。

注意:设置filter和搜索参数where都可能使用一个魔法占位符:userName,它将自动绑定到运行查询的用户名。