我正在使用Laratrust为我的User模型添加角色。我也想添加另一个表来使用角色。我添加modelAs到配置中,但 Laratrust 混淆了这两种类型。user使用 id[3] 查询时,我使用 id[3] 获取角色modelA。我在配置中更改的只是 user_models 数组,如下所示:
'user_models' => [
'users' => 'App\User',
'modelAs' => 'App\ModelA'
],
然后我添加了modelArole_users并设置user_type为App\ModelA
|user_id |role_id |user_type |
|-----------|-----------|-----------------|
|3 |6 |App\User |
|3 |7 |App\User |
|3 |8 |App\ModelA |
User当我使用语句时,多态关系不应该知道我没有使用模型$modelA->roles吗?
我认为问题与缓存角色有关,因为用于缓存角色的redis密钥laratrust_roles_for_user_3对于user_type. 那么缓存的值被覆盖了吗?我应该如何解决这个问题?
任何帮助,将不胜感激。