我有个相关的问题,这是我搜索到的一个帖子,我的查询方式和他类似
https://www.oschina.net/question/2353442_233382?sort=time#answers
这个帖子里说的只是union的order by ,
需要使用union两个结果,Yii2中的api默认index 返回的new的ActiveDataProvider对象,使用union返回的结果new出来的ActiveDataProvider对象分页出现问题,每页都把数据全部显示,分页无效,不工作,去掉union单独查询一个结果返回分页是正常的,
@倚楼听风雨_ 你好,想跟你请教个问题:######
第一个是用原生sql查询出结果集,然后在用框架去操作分页等,应该是可以的,主要还是看你的做法吧。
第二个可以相对简单点,你直接创建一个 视图,然后视图的结果集就是你的那个查询语句,然后用你的框架针对这个结果集封装一个对象,然后就是正常的对象操作了。
######回复 @蓝胖三舅 : 哦,你的意思说,你是先把所有的结果集执行查询,然后再进行封装对象,这样肯定是不行的。 一般是两种做法: 1、通过框架,实现分页sql改写,就是自动分页语法 2、自己添加分页的sql语法,比如说mysql,在你的sql后面加上 limit 1,10 这样就是第1页,每页10条######想感谢您国庆假期还有空回复我的问题 针对您说的两点,第一个方法我已经试过了,用的model的findBySql查处的query,一样在new ADP的时候return query是全部,不是分页的结果,第二种没尝试过视图,也不太了解Yii应该如何搭配视图工作。我稍后查找下资料版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。