Mic*_*ael 5 laravel eloquent laravel-4
我是laravel 4的新手,我正在尝试按照Apigee定义的最佳实践创建一个rest API.
apigee定义的最佳实践之一是对json属性键使用camel case,这种方式在Javascript中使用API时,相应的对象将遵循属性代码约定(camel case).
我希望能够在蛇案例之后定义数据表列,但是当通过我的api检索有说服力的对象时,相应的JSON必须遵循骆驼案例.
我读到了一个静态变量$ snakeAttributes,它可以在模型类中设置,它的文档说"指示属性是否是蛇形数组".我试图覆盖这个变量并将其设置为false(MyResource类)但是在执行下面的代码时,json仍然以蛇形式出现:
码:
$resource = MyResource::find($id);
return Response::json($resource);
Run Code Online (Sandbox Code Playgroud)
JSON:
{
first_name: 'Michael',
created_at: "2013-10-24 15:30:01",
updated_at: "2013-10-24 15:30:01"
}
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?
Ant*_*iro 13
创建BaseModel和一个新方法来帮助您:
class BaseModel extends \Eloquent {
public function toArrayCamel()
{
$array = $this->toArray();
foreach($array as $key => $value)
{
$return[camel_case($key)] = $value;
}
return $return;
}
}
Run Code Online (Sandbox Code Playgroud)
你的型号:
class MyResource extends BaseModel {
}
Run Code Online (Sandbox Code Playgroud)
然后使用它:
$resource = MyResource::find($id);
return Response::json( $resource->toArrayCamel() );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3487 次 |
| 最近记录: |