使用一对多关联表$this->hasMany()时,一对多关联主表id对应使用的是主表完整表名,控制器处理的字段生成最后的字段表别名,导致表别名关联出错。
localKey是主表关联子表的字段 foreignKey是子表的关联主键
这个知道,打印了sql语句也是这样关联的,sql报错的原因是hasMany中关联主表错误如:主表全称.id。而生成的主表自有别名。这里的关联会有别名冲突。
whih或者是join的时候自己提定义一下别名 还有就是hasmany这里这样定义一下->alias(''); 再不行就field as吧
定义了->alias('');,在hasmany里面不生效,也不知道怎么回事。我再查查资料,看看是不是框架里面的bug问题
localKey是主表关联子表的字段
foreignKey是子表的关联主键
这个知道,打印了sql语句也是这样关联的,sql报错的原因是hasMany中关联主表错误如:主表全称.id。而生成的主表自有别名。这里的关联会有别名冲突。
whih或者是join的时候自己提定义一下别名
还有就是hasmany这里这样定义一下->alias('');
再不行就field as吧
定义了->alias('');,在hasmany里面不生效,也不知道怎么回事。我再查查资料,看看是不是框架里面的bug问题
- 1
前往