laravel-5 - 从角度获取camelCase数据,与snake_case mysql集成并将camelCase中的响应发送回角度的最佳解决方案可能是什么?
问题描述
我所做的是:
$input = $request->all();
//convert the post camelcase to snakecase
foreach ($input as $key => $val) {
$newKey = snake_case($key);
$input[$newKey] = $val;
if ($newKey != $key) {
unset($input[$key]);
}
}
整合数据后,使用 helper 函数通过以下函数再次将蛇形大小写转换为驼形大小写:
function convert_snakeCase_to_CamelCase($data)
{
if ($data) {
foreach ($data as $key1 => $val1) {
$newKey1 = camel_case($key1);
if ($newKey1 != $key1) {
unset($data[$key1]);
}
$data[$newKey1] = $val1;
if (is_array($val1) && !empty($val1)) {
foreach ($val1 as $key2 => $val2) {
$newKey2 = camel_case($key2);
if ($newKey2 != $key2) {
unset($data[$newKey1][$key2]);
}
$data[$newKey1][$newKey2] = $val2;
if (is_array($val2) && !empty($val2)) {
foreach ($val2 as $key3 => $val3) {
$newKey3 = camel_case($key3);
if ($newKey3 != $key3) {
unset($data[$newKey1][$newKey2][$key3]);
}
$data[$newKey1][$newKey2][$newKey3] = $val3;
if (is_array($val3) && !empty($val3)) {
foreach ($val3 as $key4 => $val4) {
$newKey4 = camel_case($key4);
if ($newKey4 != $key4) {
unset($data[$newKey1][$newKey2][$newKey3][$key4]);
}
$data[$newKey1][$newKey2][$newKey3][$newKey4] = $val4;
if (is_array($val4) && !empty($val4)) {
foreach ($val4 as $key5 => $val5) {
$newKey5 = camel_case($key5);
if ($newKey5 != $key5) {
unset($data[$newKey1][$newKey2][$newKey3][$newKey4][$key5]);
}
$data[$newKey1][$newKey2][$newKey3][$newKey4][$newKey5] = $val5;
if (is_array($val5) && !empty($val5)) {
foreach ($val5 as $key6 => $val6) {
$newKey6 = camel_case($key6);
if ($newKey6 != $key6) {
unset($data[$newKey1][$newKey2][$newKey3][$newKey4][$newKey5][$key6]);
}
$data[$newKey1][$newKey2][$newKey3][$newKey4][$newKey5][$newKey6] = $val6;
}
}
}
}
}
}
}
}
}
}
}
}
return $data;
}
它工作得很好。我想知道是否有任何解决方案更好的角度或 laravel 插件来转换帖子数据并在需要的情况下发送响应数据?
解决方案
推荐阅读
- git - 如何在我自己的 repo 中包含另一个 git repo,如子模块,但合并了额外的更改/pullrequests?
- c# - Unity 中逼真的阀轮旋转
- spring - JSF @ViewScoped 表现为 @ApplicationScoped
- python - 围绕 x 的位置绘制给定区间的积分
- python - 如何计算多个标记化单词列表中最常见的 10 个单词
- java - 我正在尝试从 android 应用程序中的 url 打开音频流?
- c - 原始数据类型的通用存储
- python - 如何只用一个 for 循环迭代两个列表?
- javascript - 是否可以使用 jquery 变量值作为点符号 javascript 中的键来查找和数组值
- powershell - 详细文本日志输出到 .txt