如何使用合并替换 Laravel 请求中的嵌套数组值?
How to replace nested array value inside the Laravel request using merge?
有一个函数可以替换请求中的输入,称为合并。
我想更改嵌套数组的值,以便可以通过 $this->validate method
..
对其进行验证
这是$request->all()
的输出
array:2 [
"type" => "customer"
"users" => array:1 [
0 => array:3 [
"name" => "eeee"
"username" => "eeee"
"password" => "123456"
]
]
]
如何访问用户名值并更改它,前提是我使用 forloop
for($i=0; $i < count($request->users); $i++){
// i need to access the value here
// i have done something like $request->merge(['users'][$index]['username'] => 'xxx');
// it doesnt work
}
有什么解决办法吗?
谢谢。
您可以使用合并方法尝试这样的操作:
$new_users_data = $request->input('users');
foreach ($new_user_data as &$user_data) {
$user_data['username'] = 'new name';
}
$request->merge([
'users' => $new_users_data,
]);
您也可以通过请求 replace method.
将整个输入替换为新的输入
有一个函数可以替换请求中的输入,称为合并。
我想更改嵌套数组的值,以便可以通过 $this->validate method
..
这是$request->all()
array:2 [
"type" => "customer"
"users" => array:1 [
0 => array:3 [
"name" => "eeee"
"username" => "eeee"
"password" => "123456"
]
]
]
如何访问用户名值并更改它,前提是我使用 forloop
for($i=0; $i < count($request->users); $i++){
// i need to access the value here
// i have done something like $request->merge(['users'][$index]['username'] => 'xxx');
// it doesnt work
}
有什么解决办法吗? 谢谢。
您可以使用合并方法尝试这样的操作:
$new_users_data = $request->input('users');
foreach ($new_user_data as &$user_data) {
$user_data['username'] = 'new name';
}
$request->merge([
'users' => $new_users_data,
]);
您也可以通过请求 replace method.
将整个输入替换为新的输入