因此,在我的用户模型中,我有一个函数 fullname 返回用户的全名:
/**
* @return Attribute
*/
public function fullname(): Attribute
{
return new Attribute(
get: fn () => trim($this->firstname . ' ' . $this->lastname),
);
}
它按预期工作,现在我想在我的模型上添加 OpenAPI 注释: 我是这样做的:
class User extends Authenticatable
{
...
protected $appends = [
'fullname'
];
#[OAProperty(type: "string", example: "Jhon")]
private $firstname;
#[OAProperty(type: "string", example: "Doe")]
private $lastname;
/**
* @return Attribute
*/
public function fullname(): Attribute
{
return new Attribute(
get: fn () => trim($this->firstname . ' ' . $this->lastname),
);
}
}
此时该功能不再按预期工作:
$this->firstname and $this->lastname
不再返回空值。
问题:我想保留注释,但也要让函数工作。
注意:如果您通过 eloquent ex 访问您的用户。 ( User::all()->first(); )我们得到了名字和姓氏,但没有得到全名,感谢您的帮助
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号