# Laravel 使用barryvdh/laravel-ide-helper 生成 entrust 依赖库 model 的注释出错解决

Laravel 使用barryvdh/laravel-ide-helper 生成 entrust 依赖库 model 的注释出错解决

说明:laravel 5.4 版本,安装了 "zizaco/entrust": "5.2.x-dev" 角色权限管理的依赖包,之后想用 "barryvdh/laravel-ide-helper": "^2.3" & "doctrine/dbal": "^2.5" 来生成 app/Models/* 下模型的属性和方法注释,但无奈报错:

# Laravel 使用barryvdh/laravel-ide-helper 生成 entrust 依赖库 model 的注释出错解决_第1张图片
01执行生成模型帮助文件后报错.png

正常操作步骤

// 装好 laravel 后,执行
$ composer require barryvdh/laravel-ide-helper
... 中间省略 laravel-ide-helper 配置过程
// 安装 doctrine/dbal
$ composer require doctrine/dbal

// 执行下面命令一般可生成模型的属性和方法注释
$ php artisan ide-helper:models -W

下面贴一下 项目目录/composer.json

"require": {
    "php": ">=5.6.4",
    "barryvdh/laravel-ide-helper": "^2.3",
    "doctrine/dbal": "^2.5",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.7",
    "zizaco/entrust": "5.2.x-dev"
},

解决方法:
在 google 上搜索了关键词 entrust & ide-helper
搜索到了 Entrust 的 github 中 issues 已经有人提问了 Generate Entrust model docs #341

look:...vendor\zizaco\entrust\src\Entrust\Traits\EntrustRoleTrait.php line:49

public function users()
{
        return $this->belongsToMany(Config::get('auth.model'), Config::get('entrust.role_user_table'),Config::get('entrust.role_foreign_key'),Config::get('entrust.user_foreign_key'));
       // return $this->belongsToMany(Config::get('auth.model'), Config::get('entrust.role_user_table'));
}

修改了之后可以用了,感谢开源,感谢无私回答问题的大家。

02成功生成 models-helper.png
# Laravel 使用barryvdh/laravel-ide-helper 生成 entrust 依赖库 model 的注释出错解决_第2张图片
03成功生成 models-helper.png

你可能感兴趣的:(# Laravel 使用barryvdh/laravel-ide-helper 生成 entrust 依赖库 model 的注释出错解决)