写代码的时候,出现了一个很诡异的情况,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']
以后,该问题得到了解决。不清楚这是框架的特性还是出了问题,也可能是原本的语法不规范?总之问题就这样解决了。 |