/
githubmirror
/
ydb-php-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-php-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Issue.php
60 строк
1 KB
Alexei Shabalin
Merge pull request #22 from uh-zuh/fix-query-error-message
15 фев 2023, 07:20
Не верифицирован
15 фев 2023, 07:20
bac5387
Код
Авторство
О чём код?
<?php namespace YdbPlatform\Ydb; use Ydb\Issue\IssueMessage; class Issue { /** * @var \Ydb\Issue\IssueMessage */ protected $issue; public function __construct(IssueMessage $issue) { $this->issue = $issue; } /** * @return string */ public function toString() { $msg = trim($this->issue->getMessage()); if (count($this->issue->getIssues())) { $msg .= ':'; } $msgs = [$msg]; $issues = static::getSubIssues($this->issue); if ($issues) { array_push($msgs, ...$issues); } return implode("\n", $msgs); } /** * @param \Ydb\Issue\IssueMessage $issue * @param int $level * @return array */ protected static function getSubIssues(IssueMessage $issue, $level = 0) { $msgs = []; foreach ($issue->getIssues() as $sub_issue) { $msg = str_repeat(' ', $level) . '- ' . trim($sub_issue->getMessage()); $msgs[] = $msg; $issues = static::getSubIssues($sub_issue, $level + 1); if ($issues) { array_push($msgs, ...$issues); } } return $msgs; } }