ThinkPHP 中遇到的order无法使用问题。

在一个之前的项目中遇到了order无法使用问题;在数据量少的时候没问题;当数据量超过50万后;使用查询里加order排序就无法查询出资料了。

在网上查了一下资料大多是在thinkphp框架里改‘ThinkPHP\Extend\Model\ViewModel.class.php’:

将$array = explode(' ',$order); 改成 $array = explode(' ',trim($order)); 加了一个trim();  



我试了一下没有用,还是无法使用order排序;

还有就是改成:




有的可能可以使用;但我的还是不行;然后我就将查询语句打印出来;

$user = M("user_from");

$userlist = $user->where($where)->limit($Page->firstRow.','.$Page->listRows)->order("addtime desc")->select();

echo $user->getLastsql(); 

打印出来: 是 false 。

$userlist = $user->where($where)->limit($Page->firstRow.','.$Page->listRows)->order("")->select();

echo $user->getLastsql(); 

这样就能查询到数据: SELECT * FROM `user_from` LIMIT 0,15


最后我的解决办法就是:order("'addtime desc,state asc'") 。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值