|
|
@@ -45,20 +45,23 @@ abstract class BaseApiRepository extends Repository implements LoggerAwareInterf
|
|
|
protected function getApiRecords(string $uri, $params = []) {
|
|
|
$body = $this->getJson($uri, $params);
|
|
|
|
|
|
- $page = (int)$params['page'] ?? 1;
|
|
|
+ $page = (int)($params['page'] ?? 1);
|
|
|
|
|
|
// build up the members
|
|
|
$members = [];
|
|
|
- foreach ($body['hydra:member'] as $record) {
|
|
|
- $instance = $this->memberToObject($record);
|
|
|
- if ($instance != null) {
|
|
|
- $members[] = $instance;
|
|
|
+
|
|
|
+ if (is_array($body['hydra:member'])) {
|
|
|
+ foreach ($body['hydra:member'] as $record) {
|
|
|
+ $instance = $this->memberToObject($record);
|
|
|
+ if ($instance != null) {
|
|
|
+ $members[] = $instance;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return new ApiPagedCollection(
|
|
|
- (int)$body['hydra:totalItems'],
|
|
|
- (int)$body['hydra:itemsPerPage'],
|
|
|
+ (int)($body['hydra:totalItems'] ?? 0),
|
|
|
+ (int)($body['hydra:itemsPerPage'] ?? 0),
|
|
|
$page,
|
|
|
$members
|
|
|
);
|