也许我错过了一些非常明显的东西,但如果我这样做:
public function getName()
{
return $this->first_name . ' ' . $this->last_name;
}
然后在我看来做
$user->name
我一无所获。但如果我跑
$user->getName()
然后按预期工作。是否无法创建访问多个属性的访问者?
答案 0 :(得分:3)
您的函数应该具有名称getNameAttribute
而不是getName
,以使其作为访问者(docs reference)使用,并使用$user->name
来访问您的访问者的结果。现在你创建了标准函数,如果你想运行它,你需要运行所有标准PHP函数中的函数。
答案 1 :(得分:1)
您应该在User
模型中使用accesor
:
public function getNameAttribute($value)
{
return $this->first_name . ' ' . $this->last_name;
}
所以你可以使用$user->name
属性。名称格式为getPropertyAttribute
。