Skip to content

Fixed @property of mutated attribute will be replaced by morphTo for gen:model.#2535

Merged
limingxinleo merged 4 commits intohyperf:masterfrom
weskiller:master
Sep 18, 2020
Merged

Fixed @property of mutated attribute will be replaced by morphTo for gen:model.#2535
limingxinleo merged 4 commits intohyperf:masterfrom
weskiller:master

Conversation

@weskiller
Copy link
Copy Markdown
Contributor

<?php
namespace App\Model;
use Hyperf\Database\Model\Relations\MorphTo;
use Hyperf\DbConnection\Model\Model;
/**
 * Class Comment
 * @package App\Model
 * 这是期望出现的属性注释
 * @property-read \App\Model\User|\App\Model\Admin|\App\Model\Guest|\App\Model\Member $creator 这是期望出现的属性注释
 * 这是出现的属性注解(getAttribute / morphTo 谁排序到后面,就会覆盖前者的注释,getAttribute 优先级应该比 morphTo 高)
 * @property-read \Hyperf\Database\Model\Model $creator
 */
class Comment extends Model
{
    /**
     * @return MorphTo
     */
    public function creator() :MorphTo
    {
        return $this->morphTo();
    }

    /**
     * @return User | Admin | Guest | Member
     */
    public function getCreatorAttribute()
    {
        return $this->loadMissing('creator')->getAttribute('creator');
    }
}

gen:model 命令生成的model注释,可能会覆盖,Model->getAttribute的魔法方法应该是最高优先级

@limingxinleo limingxinleo changed the title Fixed gen:model morphTo maybe cover getAttribute Property Fixed @property of mutated attribute will be replaced by morphTo for gen:model. Sep 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants