0

也许我在这里遗漏了一些非常明显的东西,但如果我这样做了:

public function getName()
{
    return $this->first_name . ' ' . $this->last_name;
}

然后在我看来

$user->name

我什么也得不到。但如果我跑

$user->getName()

然后它按预期工作。不能创建访问多个属性的访问器吗?

4

2 回答 2

3

您的函数应该有名称getNameAttribute,而不是getName让它作为访问器(文档参考)工作并用于$user->name访问访问器的结果。现在您创建了标准函数,如果要运行它,您需要像在所有标准 PHP 函数中一样运行函数。

于 2014-10-13T17:45:34.083 回答
1

你应该在你的User模型中使用这样的东西作为accesor

public function getNameAttribute($value)
{
    return $this->first_name . ' ' . $this->last_name;
}

所以你可以使用$user->name属性。名称格式为getPropertyAttribute.

于 2014-10-13T17:46:06.580 回答