объединить объекты внутри массива - PullRequest
0 голосов
/ 05 октября 2019

Мой код здесь возвращает ответ, подобный этому

{
    "code": 422,
    "message": "The given data was invalid.",
    "errors": {
        "0": {
            "first_name": [
                "The first name field is required."
            ]
        },
        "1": {
            "last_name": [
                "The last name field is required."
            ]
        },
        "2": {
            "mobile": [
                "The mobile must be an integer.",
                "The mobile must be at least 9."
            ]
        }
    }
}

Мне нужно объединить объекты и удалить числа, чтобы вернуть, как это

{
    "code": 422,
    "message": "The given data was invalid.",
    "errors": {

            "first_name": [
                "The first name field is required."
            ],

            "last_name": [
                "The last name field is required."
            ],

            "mobile": [
                "The mobile must be an integer.",
                "The mobile must be at least 9."
            ]

    }
}

private function transformErrors(ValidationException $exception)
{
    $errors = [];

    foreach ($exception->errors() as $field => $message) {
         $errors[]  =  [
              $field  => $message
          ];

    }
    return  (object)$errors;
}

, что является лучшим способом обработки ответа в этомспособ

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

Если я правильно понял, вы просто хотите преобразовать многомерный массив в простой массив.

Вы можете попробовать использовать:

private function transformErrors(ValidationException $exception)
{
    return array_values($exception->errors());
}
0 голосов
/ 05 октября 2019

Вы можете использовать функцию array_values() для сбора значений из массива ошибок. Как то так:

$yourArray['errors'] = array_values($yourArray['errors']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...