Thinkphp5 模型里别名alias不生效bug【已解决】

让人想犯罪 __ 提交于 2020-05-07 09:04:28

使用很长一段时间的Thinkphp5.0,一直被一个问题困扰,就是模型里面数据查询无法使用别名,除非使用DB类

但是模型里面一般是直接使用

$this 或 静态方法 self

例如写一个 Join 查询

当前表取别名为t,查看当前Sql

可以看到别名没有起作用,经过我再三翻找源码,定位的位置是

\thinkphp\library\think\db\Query.php

尝试过,Db::name 与 self 都是这个分支

而 self 的表名是未转化的,转化一下就行,添加代码

        if (false !== strpos($table, '__')) {
            $table = $this->parseSqlTable($table);
        }


添加完成后截图

解决完成

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!