Skip to content

Commit ae58b92

Browse files
committed
Some GeoJSON fixes
1 parent 7353408 commit ae58b92

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/Tqdev/PhpCrudApi/GeoJson/GeoJsonService.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ private function convertRecordToFeature( /*object*/$record, string $geometryColu
5353

5454
public function _list(string $tableName, array $params): FeatureCollection
5555
{
56-
$geometryParam = isset($params['geometry']) ? $params['geometry'] : '';
56+
$geometryParam = isset($params['geometry']) ? $params['geometry'][0] : '';
5757
$geometryColumnName = $this->getGeometryColumnName($tableName, $geometryParam);
5858
$records = $this->records->_list($tableName, $params);
5959

@@ -66,7 +66,7 @@ public function _list(string $tableName, array $params): FeatureCollection
6666

6767
public function read(string $tableName, string $id, array $params): Feature
6868
{
69-
$geometryParam = isset($params['geometry']) ? $params['geometry'] : '';
69+
$geometryParam = isset($params['geometry']) ? $params['geometry'][0] : '';
7070
$geometryColumnName = $this->getGeometryColumnName($tableName, $geometryParam);
7171
$record = $this->records->read($tableName, $id, $params);
7272
return $this->convertRecordToFeature($record, $geometryColumnName);

tests/functional/001_records/083_list_users_as_geojson.log

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ Content-Length: 269
66

77
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"id":1,"username":"user1","password":"testtest2"},"geometry":{"type":"Point","coordinates":[30,20]}},{"type":"Feature","properties":{"id":2,"username":"user2","password":"pass2"},"geometry":null}]}
88
===
9+
GET /geojson/users?geometry=location
10+
===
11+
200
12+
Content-Type: application/json
13+
Content-Length: 269
14+
15+
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"id":1,"username":"user1","password":"testtest2"},"geometry":{"type":"Point","coordinates":[30,20]}},{"type":"Feature","properties":{"id":2,"username":"user2","password":"pass2"},"geometry":null}]}
16+
===
17+
GET /geojson/users?geometry=notlocation
18+
===
19+
200
20+
Content-Type: application/json
21+
Content-Length: 277
22+
23+
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"id":1,"username":"user1","password":"testtest2","location":"POINT(30 20)"},"geometry":null},{"type":"Feature","properties":{"id":2,"username":"user2","password":"pass2","location":null},"geometry":null}]}
24+
===
925
GET /geojson/users?page=1,1
1026
===
1127
200

0 commit comments

Comments
 (0)