Skip to content

tp6.0,DbManager容器重新创建新实例后,Model内存储的没有更新 #2927

Open
@aLoNeIT

Description

@aLoNeIT
  • 查阅代码,发现ModelService中启动时使用Model::setDb($db)设置了一次db实例,然后在DbManager中的modelMaker中也使用Model::setDb($this)设置了一次db,但是在继承他的think\Db类中,modelMaker成了空方法,导致就算重新创建了容器中的db实例,也无法更新Model中存储的静态变量$db,从而导致在cli模式下运行时手动重新创建db却仍然出问题的情况。
  • 其次,在App.php文件中,发现db和think\DbManager都对应Db类,cache和think\CacheManager都对应Cache类,log和think\LogManager都对应Log类
  • 在facade文件中,Cache标识是cache,Log标识是log,Db标识却又成了think\DbManager

以上问题,麻烦确认下是否存在不合理之处,尤其是第一点!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions