【发布时间】:2020-02-03 09:10:12
【问题描述】:
我的代码在这里返回这样的响应
{
"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;
}
以这种方式处理响应的最佳方法是什么
【问题讨论】:
-
这个php代码是给
code、message和errors还是只是errors? -
将您的数组转换为集合,然后使用 flatten 方法。
$finalized_errors = collect($errors); return $finalized_errors->flatten():