ParseResultTrait.php 831 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace YdbPlatform\Ydb\Traits;
  3. trait ParseResultTrait
  4. {
  5. /**
  6. * @param object $result
  7. * @param array|null $properties
  8. * @param mixed $default
  9. * @return array|mixed|null
  10. */
  11. protected function parseResult($result, $properties = null, $default = null)
  12. {
  13. $result = json_decode($result->serializeToJsonString(), true);
  14. $parsedResult = [];
  15. if (is_array($properties))
  16. {
  17. foreach ($properties as $property)
  18. {
  19. $parsedResult[$property] = $result[$property] ?? null;
  20. }
  21. }
  22. else if (is_string($properties))
  23. {
  24. $parsedResult = $result[$properties] ?? $default;
  25. }
  26. else
  27. {
  28. $parsedResult = $result;
  29. }
  30. return $parsedResult;
  31. }
  32. }