是否仍可以使用Laravel 5 Accessors访问多个属性

时间:2014-10-13 17:08:59

标签: php model accessor laravel-5

也许我错过了一些非常明显的东西,但如果我这样做:

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

然后在我看来做

$user->name

我一无所获。但如果我跑

$user->getName()

然后按预期工作。是否无法创建访问多个属性的访问者?

2 个答案:

答案 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