Php 根据Laravel数组请求合并新值
如果我的所有输入值都在Php 根据Laravel数组请求合并新值,php,laravel,laravel-5,Php,Laravel,Laravel 5,如果我的所有输入值都在$request->input('users')上,我如何合并新值 大概是这样的: $request->merge(['users.dob' => '2000']); $users['dob'] = "2000"; $users['name'] = ucwords($request->users['name']); ... $request->merge(['users' => $users]); 但显然不起作用。试试这个: $data
$request->input('users')
上,我如何合并新值
大概是这样的:
$request->merge(['users.dob' => '2000']);
$users['dob'] = "2000";
$users['name'] = ucwords($request->users['name']);
...
$request->merge(['users' => $users]);
但显然不起作用。试试这个:
$data= $request->input('users');
$data['dob'] = 2000;
$request->request->add(['users.dob', '2000']);
$request->request->add([
'new-field1' => 'value 1',
'new-field2' => 'value 2'
]);
$originalInput = $request->input('users');
$defaultValue = [
'dob' => 2000
];
$mergedResult = array_merge($defaultValue, $originalInput);
$request->merge([
'users' => $mergedResult
]);
试试这个:
$data= $request->input('users');
$data['dob'] = 2000;
$request->request->add(['users.dob', '2000']);
$request->request->add([
'new-field1' => 'value 1',
'new-field2' => 'value 2'
]);
$originalInput = $request->input('users');
$defaultValue = [
'dob' => 2000
];
$mergedResult = array_merge($defaultValue, $originalInput);
$request->merge([
'users' => $mergedResult
]);
似乎merge()
不再起作用了。你可以试试这个
public function __construct(\Illuminate\Http\Request $request)
{
$request->request->add(
['date_of_birth' => implode('-',$request->only('year', 'month', 'day'))]);
}
首先,我们需要获取属于该数组的所有项并临时保存 比如说,
$users = $request->users;
通过这种方式,您可以访问用户的数据,如$users['name']
或$users['name']
接下来,更新或添加您需要的任何数据。比如像这样,
$request->merge(['users.dob' => '2000']);
$users['dob'] = "2000";
$users['name'] = ucwords($request->users['name']);
...
$request->merge(['users' => $users]);
完成后,我们将临时数组合并回$request
,如下所示:
$request->merge(['users.dob' => '2000']);
$users['dob'] = "2000";
$users['name'] = ucwords($request->users['name']);
...
$request->merge(['users' => $users]);
试试这个:
$data= $request->input('users');
$data['dob'] = 2000;
$request->request->add(['users.dob', '2000']);
$request->request->add([
'new-field1' => 'value 1',
'new-field2' => 'value 2'
]);
$originalInput = $request->input('users');
$defaultValue = [
'dob' => 2000
];
$mergedResult = array_merge($defaultValue, $originalInput);
$request->merge([
'users' => $mergedResult
]);
试试这个:
$data= $request->input('users');
$data['dob'] = 2000;
$request->request->add(['users.dob', '2000']);
$request->request->add([
'new-field1' => 'value 1',
'new-field2' => 'value 2'
]);
$originalInput = $request->input('users');
$defaultValue = [
'dob' => 2000
];
$mergedResult = array_merge($defaultValue, $originalInput);
$request->merge([
'users' => $mergedResult
]);
如果您正在寻找更优雅的东西(阅读:hard way)并提高代码的可重用性,您可以遵循以下步骤:
Request
对象这是迄今为止我找到的最好的解决办法。 假设您想修改请求中的封面图片名称
$requestData = $request->all();
$requestData->cover_image = "your new image name";
$requestData->save();