首页 > 解决方案 > 从角度获取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 插件来转换帖子数据并在需要的情况下发送响应数据?

标签: laravel-5angular6

解决方案


推荐阅读