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 后,执行
$ 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'));
}
修改了之后可以用了,感谢开源,感谢无私回答问题的大家。