解决thinkphp5 join的时候 自动添加cmf前缀的问题。
2022-10-08 17:22:18
231
{{single.collect_count}}

写代码的时候,出现了一个很诡异的情况,join另外一个表实,提示该表不存在,报错信息上显示,它在生成sql语句的时候自动给我的表加了一个cmf_的前缀。

​​​​​​​$result = $this->alias('a')->where($where)->field('a.sub_materiel_id,SUM(a.total_count) as total_num, b.simulation_num,b.update_time')->group('a.sub_materiel_id')->join('smt_materiel b','a.sub_materiel_id = b.sub_materiel_id','LEFT')//注意这段->fetchSql()->select();

 ->join('smt_materiel b','a.sub_materiel_id = b.sub_materiel_id','LEFT');

结果显示cmf_smt_materiel 表不存在,莫名其妙多了一个cmf前缀。

 

后来我将join里面的

'smt_materiel b'

改成了

['smt_materiel' => 'b']

以后,该问题得到了解决。不清楚这是框架的特性还是出了问题,也可能是原本的语法不规范?总之问题就这样解决了。

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}