首页 > 解决方案 > 将 MessageBag 转换为简单的单列数组

问题描述

在 laravel 6 中,我有以下代码

$messageBag = Validator::make([], [ 'x' => 'required|int' ])->getMessageBag(); // just for example

并且需要转换成$messageBag这样的array结构:

[
   "The x field is required.",
   "The x field is bla bla bla.",
   "The y field is something.",
]

的结构$messageBag->toArray()是:

[
   "x" => [
        "The x field is required.",
   ],
]

标签: phplaravelvalidation

解决方案


你可以使用 Laravel 的内置辅助方法来展平数组

在您的情况下,您可以使用:

$flatArray = Arr::flatten($messageBag->toArray())

正如文件所说:

Arr::flatten 方法将多维数组展平为单级数组。


推荐阅读