也许我在这里遗漏了一些非常明显的东西,但如果我这样做了:
public function getName()
{
return $this->first_name . ' ' . $this->last_name;
}
然后在我看来
$user->name
我什么也得不到。但如果我跑
$user->getName()
然后它按预期工作。不能创建访问多个属性的访问器吗?
您的函数应该有名称getNameAttribute
,而不是getName
让它作为访问器(文档参考)工作并用于$user->name
访问访问器的结果。现在您创建了标准函数,如果要运行它,您需要像在所有标准 PHP 函数中一样运行函数。
你应该在你的User
模型中使用这样的东西作为accesor
:
public function getNameAttribute($value)
{
return $this->first_name . ' ' . $this->last_name;
}
所以你可以使用$user->name
属性。名称格式为getPropertyAttribute
.