新闻中心

关于Thinkphp程序内用不了order()排序的两种解决方案

作者 / 时间 2015-02-05 17:24:00

Thinkphp的简洁实用用过的人都知晓一二,用这款程序用作网站框架来建站是非常不错的选择呢,想了解更多,请点击《新手指导THINKPHP开发指南》,小编透露一下这款开源程序我们无忧的PHP空间也是完美支持的哦!今天无忧小编给大家说的是在这个程序内无法使用->order($order)来排序问题,针对开发者而言,这是一个非常困扰的问题,那要怎么处理呢? 针对这句:$order = " info.date2 desc ";降序排列的语句,可在Thinkphp程序中执行的结果却截然不同,最终结果是:order by date2 limit… desc不见了。针对这个问题,以下有两个解决方案: 方案一:语句语法有问题,在$order 里面两边不能有任何空格。 例如:$order = "info.date2 desc";(正确)。$order = " info.date2 desc";(错误!) 方案二:给$order加上trim() 函数,对指定文件进行代码修改,详细步骤如下: 文件路径:.\ThinkPHP\Extend\Model\ViewModel.class.php 把文件ViewModel.class.php利用FTP工具下载到本地,并且用高级记事本进行编辑修改,需要修改的代码约在136行,这里我们给$order加上trim()保存即可,如图所示: 关于Thinkphp程序内用不了order()排序的两种解决方案 修改后的代码为:$array = explode(' ', trim($order)); 保存后上传即可。 这个方案二是官方的一个小bug,我们可以通过添加trim来解决的哦。 PS:trim() 函数从字符串的两端删除空白字符和其他预定义字符。 无忧主机相关文章推荐阅读: 多说评论插件怎么在THINKPHP上实现 THINKPHP程序如何自定义404错误页面 无忧主机浅谈THINKPHP的模板输出功能 THINKPHP搭建的网站搬家后遇到“您浏览的页面暂时发生了错误!”

本文地址:https://www.51php.com/thinkphp/18592.html

1
1
1
1
1
1
1