关于关联数据表数据排序的问题
发布于:2022-01-17 09:50:54
#1 xiuluozhou
我有个主表A,关联附表B,但是我A的list排序需要根据B中的字段排序怎么做呀?
在spModel里面貌似联表查询是通过分多次查询实现的,不是leftjoin呀。
2012-12-11 11:36:08
#2 xiuluozhou
刚看到其他帖子中也有类似的问题,手册中关联结果的限制里面是在$linker 里面写的排序,那如果排序规则是通过参数传入的,也就是不一定要用B表中的字段排序,可以动态修改$linker 里面的排序值么?
2012-12-11 11:43:39
#3 jake
$linker是一个变量数组,赋值修改就行。
不是用join语法,一方面是join语法无法做到相应的结果;另一方面,在中小应用join语法没有什么优势,而大应用join语法效率会比较低。
2012-12-11 12:48:54
#4 xiuluozhou
jake 发表于 2012-12-11 12:48
$linker是一个变量数组,赋值修改就行。
不是用join语法,一方面是join语法无法做到相应的结果;另一方面 ...
刚试了下,貌似设置关联表B的sort后,没有影响到主表A的排序啊,查了下SQL日志,排序的操作都在关联表的sql上了,主表出来的数据没有变化,这个我该怎么设置呢?
2012-12-11 16:01:02
#5 xiuluozhou
又查了下以前相关的帖子,看到这段
关联的sort指的是对应表结果的排序,所以字段一定是对应表的字段(不能是本表的字段)
目前LIST显示的是主表字段信息,但是有写排序规则是用到了一对一的附属表的字段来排序主表。
这个需要怎么设置呢?是不是只能用jion啊?
2012-12-11 16:18:57
#6 jake
简单说,主表排序,在findAll里面设置,从表排序,改$linker变量。
2012-12-11 18:24:56