一、查询
TP3
D方法实例化模型类的时候通常是实例化某个具体的模型类,如果你仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,所以性能会更高。
$map = array(); $map[‘u.store_id‘] = array(‘eq‘,0); $map[‘u.reg_time‘] = array(‘egt‘,time()); $map[‘u.user_rank‘] = array(‘in‘,array(0,9)); $group = ‘‘; $order = ‘‘; //查询10-20的数据集 $list = M(‘users u‘)->field(‘u.user_id,u.user_name,u.store_id‘) ->join(‘LEFT JOIN __ORDER_INFO__ oi ON oi.user_id=u.user_id‘) ->where($map) ->limit(10,20) ->group($group) ->order($order) ->select(); //读取数据表中的一行数据(或者关联数据),主要通过find方法完成 //如果查询出错,find方法返回false,如果查询结果为空返回NULL,查询成功则返回一个关联数组(键值是字段名或者别名)。 $data = M(‘users‘)->where(‘status=1 AND name="thinkphp"‘)->find(); //读取字段值其实就是获取数据表中的某个列的多个或者单个数据,最常用的方法是 getField方法。 //默认情况下,当只有一个字段的时候,返回满足条件的数据表中的该字段的第一行的值。 $nickname = M("User")->where(‘id=3‘)->getField(‘nickname‘); //如果需要返回整个列的数据,可以用: $nickname = M("User")->getField(‘id‘,true); //如果传入多个字段的话,默认返回一个关联数组: $list = M("User")->getField(‘id,nickname‘); //获取用户数: $userCount = M("User")->count(); //原生sql查询 $Model = new \Think\Model() // 实例化一个model对象 没有对应任何数据表 $Model->query("select * from think_user where status=1");
TP5
二、更新
TP3
$data = array(); $data[‘name‘] = ‘ThinkPHP‘; $data[‘email‘] = ‘ThinkPHP@gmail.com‘; M("User")->where(‘id=5‘)->save($data); // 根据条件更新记录 //原生sql执行修改、删除 $Model = new \Think\Model() // 实例化一个model对象 没有对应任何数据表 $Model->execute("update think_user set name=‘thinkPHP‘ where status=1");
原文:https://www.cnblogs.com/gaocy/p/11216683.html