我正在尝试在用户模型中为已经存在的字段定义访问器。在我的数据库中,该字段称为address_line_1
。但是,因为字段名称包含数字,所以我不确定如何使Laravel识别“行”后有下划线。
通常定义下划线,您会使用驼峰式,但是在这种情况下则不能。我已经检查了Laravel文档,但是没有提到此问题。下面是我当前的代码:
public function getAddressLine1Attribute($value){
return empty($value) ? '' : decrypt($value);
}
我也尝试过使用函数名getAddress_Line_1Attribute
和getAddressLine_1Attribute
,但这不起作用。
我该如何解决?
答案 0 :(得分:2)
Laravel 5.7调用此函数来检查get mutator是否存在:
/**
* Determine if a get mutator exists for an attribute.
*
* @param string $key
* @return bool
*/
public function hasGetMutator($key)
{
return method_exists($this, 'get'.Str::studly($key).'Attribute');
}
'get'.Str::studly('address_line_1').'Attribute' === 'getAddressLine1Attribute'
所以看来您的方法名称是正确的。