我有一个模型,它有一个相关的模型
class A extends Model{
public function niceName()
{
return this->hasOne('AppNiceName2' ...);
}
在控制器中,当我用子模型检索数据时,结果就像
一个[nice_name_2](使用表名(,我希望它是一个[NiceName2]。
有没有办法为返回的结果设置别名?在cakeHP中,我知道有propertyName可以在关系中设置此项。拉拉威尔也有类似的特点?
感谢
Laravel对方法名称使用camelCase的约定,对属性使用snake_case的约定。我不确定有什么简单的方法可以解决这个问题。
当Laravel序列化数据时,按照惯例,它会将关系转换为snake_case。因此,当执行toArray()
或序列化模型时(在JSON响应中或以其他方式(,NiceName2
将变为nice_name2
。
这是如何工作的:
访问$model->nice_name2
时,它会将属性名称转换回niceName2
,以检查具有该名称的关系方法。序列化时,它将关系niceName2
转换为属性名称nice_name2
。