CURD方法盘点:order方法
1.$Model->where('status=1')->order('id desc')->limit(5)->select();
2.支持对多个字段的排序,例如:
$Model->where('status=1')->order('id desc,status')->limit(5)->select();
3.如果你的字段和mysql关键字有冲突,那么建议采用数组方式调用,例如:
$Model->where('status=1')->order(array('order','id'=>'desc'))->limit(5)->select();
tp使用原生sql语句
在thinkphp连接数据库查询的时候,如果表名中带有大写字母,会发现数据表无法正常操作,因为thinkphp会默认将大写表名的大写字母转化成_小写字母,可以使用原生sql进行查询。
正常执行$model->select();等方法的时候,我们可以在这句话之前执行$model=M('user');这类的实例化对象操作。
但是当这种快速方法不能满足我们的数据库操作需求的时候,比如我需要插入其中几个字段,直接的add方法执行不了的时候,需要用到thinkphp的execute()方法来执行数据库操作,使用的时候,必须注意,thinkphp写原生语句的时候,thinkphp是不会把数据表的表前缀补齐的,我们需要写一个带前缀的完整的表名,程序才能正常执行。
案例:
$res=$m_order->execute("insert into tp_order (uid,good_id,good_name,good_num,good_price,fold,total,time,state)
values (".$uid.",".$good_id.",'".$good_name."',".$good_num.",".$good_price.",".$good_fold.",".$good_total.",'".$time."',".$state.")");
这样就可以正常执行插入操作了。