Laravel, 相关模型重命名
Laravel, related model reuturened names
我有一个模型有一个相关模型
class A extends Model{
public function niceName()
{
return this->hasOne('App\NiceName2' ...);
}
在控制器中,当我使用子模型检索数据时,结果类似于
a[nice_name_2](使用 table 名称),我希望它是 [NiceName2]。
有没有办法为返回的结果取一个别名?在 cakePHP 中,我知道有 propertyName 可以在关系上设置它。 Laravel 有类似的功能吗?
谢谢
Laravel 对方法名称使用 camelCase 约定,对属性使用 snake_case。我不确定是否有解决此问题的简单方法。
当 Laravel 序列化数据时,按照惯例它会将关系转换为 snake_case。因此,当您执行 toArray()
或模型被序列化时(在 JSON 响应中或其他情况下),NiceName2
将变为 nice_name2
。
这是如何工作的:
当您访问 $model->nice_name2
时,它会将 属性 名称转换回 niceName2
以检查具有该名称的关系方法。序列化时,它将关系 niceName2
转换为属性名称 nice_name2
.
我有一个模型有一个相关模型
class A extends Model{
public function niceName()
{
return this->hasOne('App\NiceName2' ...);
}
在控制器中,当我使用子模型检索数据时,结果类似于
a[nice_name_2](使用 table 名称),我希望它是 [NiceName2]。
有没有办法为返回的结果取一个别名?在 cakePHP 中,我知道有 propertyName 可以在关系上设置它。 Laravel 有类似的功能吗?
谢谢
Laravel 对方法名称使用 camelCase 约定,对属性使用 snake_case。我不确定是否有解决此问题的简单方法。
当 Laravel 序列化数据时,按照惯例它会将关系转换为 snake_case。因此,当您执行 toArray()
或模型被序列化时(在 JSON 响应中或其他情况下),NiceName2
将变为 nice_name2
。
这是如何工作的:
当您访问 $model->nice_name2
时,它会将 属性 名称转换回 niceName2
以检查具有该名称的关系方法。序列化时,它将关系 niceName2
转换为属性名称 nice_name2
.