要在Eloquent Model类中定义一个Mutator,我们使用getFooAttribute像这样:
public function getTitleAttribute($value)
{
return ucfirst($value);
}
但是,假设我想重命名一个模型中有很多(20到30个)属性,为每个模型创建一个函数很费力,有没有更聪明的方法来解决这个问题?
答案 0 :(得分:1)
您可以覆盖模型上的getAttribute
函数,并在其中具有关联数组以重命名属性。
public function getAttribute($key)
{
$renames = [
'foo' => 'bar',
];
if (array_key_exists($key, $renames))
$key = $renames[$key];
return parent::getAttribute($key);
}