Laravel eloquent 模型与 swagger openApi 注释问题
P粉178894235
P粉178894235 2023-12-31 19:41:40
[PHP讨论组]

因此,在我的用户模型中,我有一个函数 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(); )我们得到了名字和姓氏,但没有得到全名,感谢您的帮助

P粉178894235
P粉178894235

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号