针对module、table等标签使用join联合表查询时,可以使用field参数来指定字段显示,当两个表字段相同的情况下会优先输出主表的字段,次表字段就不会输出,我们可以为次表字段设置别名来显示,例如:
主表a结构是:
id 自增 name 名称 content 内容
次表b结构是:
id 自增 aid 关联a表的id号 name b表名称(这里和a表字段有重复,默认情况下不会输出这个name值了)
常规关联的标签是这样的:
{table table=a join=b on=id,aid}
这样写的字段会输出:a表的全部字段+b表的aid字段,因为b表的id和name字段跟a表重复,因此这种标签不会输出这两个字段,我们可以指定field来输出字段
{table table=a field=name,b.id,b.name join=b on=id,aid}
这种写法会输出a表的name和b表的id,但是b表的name虽然也指定了,因为重复的原因b表的name还是不会输出,那么我们可以给b表的name指定一个别名
{table table=a field=name,b.id,b.name:bname join=b on=id,aid}
这样就可以把b表的name作为bname字段来显示出来了
还可以自己写field参数
{php $field=urlencode('`dr_a`.`name` as `aname`, `dr_b`.`name` as `bname`');} {table table=a field=$field join=b on=id,aid}
这种写法就是原始sql标准写法