gpt4 book ai didi

laravel - 在 Laravel 中如何对数据库表列使用蛇形大小写,对模型属性使用驼色大小写

转载 作者:行者123 更新时间:2023-12-04 16:53:18 25 4
gpt4 key购买 nike

我是 laravel 4 的新手,我正在尝试按照 Apigee 定义的最佳实践创建一个 rest API。

apigee 定义的最佳实践之一是对 json 属性键使用驼峰式大小写,这样在 Javascript 中使用 API 时,相应的对象将遵循属性代码约定(驼峰式大小写)。

我希望能够在蛇案例之后定义数据表列,但是当通过我的 api 检索 Eloquent 对象时,相应的 JSON 必须遵循 Camel 案例。

我读到了一个可以在模型类中设置的静态变量 $snakeAttributes,它的文档说“指示属性是否在数组上是蛇形的”。我试图覆盖这个变量并将其设置为 false(MyResource 类),但是在执行以下代码时,json 仍然是蛇形的:

代码:

   $resource = MyResource::find($id);
return Response::json($resource);

JSON:
{ 
first_name: 'Michael',
created_at: "2013-10-24 15:30:01",
updated_at: "2013-10-24 15:30:01"
}

有人知道如何解决这个问题吗?

最佳答案

创建 BaseModel 和一个新方法来帮助你:

class BaseModel extends \Eloquent {

public function toArrayCamel()
{
$array = $this->toArray();

foreach($array as $key => $value)
{
$return[camel_case($key)] = $value;
}

return $return;
}

}

您的型号:
class MyResource extends BaseModel {
}

然后使用它:
$resource = MyResource::find($id);
return Response::json( $resource->toArrayCamel() );

关于laravel - 在 Laravel 中如何对数据库表列使用蛇形大小写,对模型属性使用驼色大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19571167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com