Php 将MessageBag转换为simble单列数组
在Laravel6中,我有以下代码Php 将MessageBag转换为simble单列数组,php,laravel,validation,Php,Laravel,Validation,在Laravel6中,我有以下代码 $messageBag = Validator::make([], [ 'x' => 'required|int' ])->getMessageBag(); // just for example 并且需要将$messageBag转换为结构如下的数组: [ "The x field is required.", "The x field is bla bla bla.", "The y field is something.",
$messageBag = Validator::make([], [ 'x' => 'required|int' ])->getMessageBag(); // just for example
并且需要将$messageBag
转换为结构如下的数组
:
[
"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.",
],
]
您可以使用Laravel的内置
在您的情况下,您可以使用:
$flatary=Arr::flant($messageBag->toArray())
正如文件所说:
展平方法将多维数组展平为单层数组
您可能不想这样做的原因是,可能有多个字段不符合相同的验证规则,并且它们使用相同的消息。我认为,这是无用的、毫无意义的和错误的。但是我必须这么做。试试看Arr::flatte($messageBag->toArray())
@apokryfos你应该回答这个问题。