如果我的数据库中有如下字段:date_install
,那么我可以设置一个名为的属性函数:
字段名称:date_install
:
public function setDateInstallAttribute($date)
{
//code
}
但是我需要为以大写字母开头的字段设置属性:
字段名称:DateInstall
。
函数的名称是什么? setDateInstallAttribute
无法正常工作。
答案 0 :(得分:2)
尽管未明确规定,但惯例是在命名数据库字段时使用蛇格(snake_case)。在Laravel中,这是至关重要的,因为该框架在很大程度上依赖于snake_case和studlyCase,尤其是在处理模型(表名,外键,访问器和变异器等)时。在这种情况下,更改程序必须遵循模式setFooAttribute,其中Foo是您要访问的列的“ studly”大小写名称(snake_case)。
答案 1 :(得分:1)
Laravel通过大写第一个单词来寻找类似这样的变异子。如果提供了已经大写的属性,它应该可以正常工作。
因此,如果您的字段名为DateInstall
,则setDateInstallAttribute
应该是有效的方法名称。