• tp AR


    select:普通查询,同 findAll() 方法
    find:取得符合查询条件的一条记录
    
    
    $list = $Dao->field('username,email')->select();    //查找某个字段
    
    //where  等于
    $condition['username'] = 'Admin';
    $map['a'] =array('like',array('%thinkphp%','%tp'),'OR');  //like
    $map['id']  = array('between','1,8');      //between
    $map['id']  = array('not in','1,5,8');     //in  / not in
    $map['id']  = array('not in',array('1','5','8'));
    $map['name|title'] = 'aa';    //or  (name=aa or title = aa)
    
    //'_multi'=>true必须加在数组的最后,表示当前是多条件匹配 
    //查询条件就变成 status= 1 AND score >0 AND title = 'thinkphp'
    $map['status&score&title'] =array('1',array('gt','0'),'thinkphp','_multi'=>true);  //and  
    
    //区间
    $map['id'] = array(array('gt',1),array('lt',10)) ;   // (`id` > 1) AND (`id` < 10)
    $map['id'] = array(array('gt',3),array('lt',10), 'or') ;   // (`id` > 3) OR (`id` < 10)
    $map['id']  = array(array('neq',6),array('gt',3),'and');   //(`id` != 6) AND (`id` > 3)
    $map['name']  = array(array('like','%a%'), array('like','%b%'), array('like','%c%'), 'ThinkPHP','or');  
    //(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'ThinkPHP')
    
    
    $list = $Dao->where($condition)->select();
    
    $list = $Dao->order('uid DESC')->select();
    
    $list = $Dao->limit('4,5')->select();
    
    $list = $Dao->order('uid DESC')->limit('4,5')->select();
    
    
    ---------------
    //保存
    $User = M("User"); // 实例化User对象
    // 要修改的数据对象属性赋值
    $data['name'] = 'ThinkPHP';
    $data['score'] = array('exp','score+1');// 用户的积分加1
    $User->where('id=5')->save($data);
    
    //_string 包括字符串模式查询
    $User = M("User"); // 实例化User对象
    $map['id'] = array('neq',1);
    $map['name'] = 'ok';
    $map['_string'] = 'status=1 AND score>10';
    $User->where($map)->select(); 
    
    //请求字符串查询(_query)
    $map['id'] = array('gt','100');
    $map['_query'] = 'status=1&score=100&_logic=or';  //`id`>100 AND (`status` = '1' OR `score` = '100')
    
    //Count() ,Max() ,Min(),Avg(),Sum()
    $User = M("User");
    $userCount = $User->count();   //所有用户数
    $userCount = $User->count("id");
    $minScore = $User->where('score>0')->min('score');  //获取积分大于0的用户的最小积分
    
    $User->where('score>80')->order('score desc')->first();  //获取第一条记录
    $User->where('score>80')->order('score desc')->last();  //获取最后一条记录
    $User-> where('score>80')->order('score desc')->top8();   //前8条数据
    
    //动态查询
    //getBy+表中属性的名  
    $user = $User->getByName('liu21st');
    //根据名子获得id
    $user = $User->getFieldByName('liu21st','id');
    
    //sql查询
    $Model = new Model() // 实例化一个model对象 没有对应任何数据表
    $Model->query("select * from think_user where status=1");
    
    //修改
    $Model = new Model() // 实例化一个model对象 没有对应任何数据表
    $Model->execute("update think_user set name='thinkPHP' where status=1");
    
    $data['email'] = 'Jack@163.com';
    $data['uid'] = 2;
    $result = $Dao->save($data);
    
    //删除
    $result = $Dao->where('uid = 5')->delete();
    $result = $Dao->where('status=0')->order('regdate ASC')->limit('5')->delete();    //删除多条

    $db->where(array('id'=>array('in',$ids)))->delete();




    $Dao = M();
     //或者使用 $Dao = new Model();
    
    $list = $Dao->query("select * from user where uid<5");
    $where['name']=array('like',array('%jb51%','%.com'),'OR');
    name like '%jb51%' or name like '%.com'
    
    
    如果进行多字段查询,那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:
    
    $User = M("User"); // 实例化User对象
    $condition['name'] = 'thinkphp';
    $condition['account'] = 'thinkphp';
    $condition['_logic'] = 'OR';
    // 把查询条件传入查询方法
    $User->where($condition)->select();
    
    
    $User = M("User"); // 实例化User对象
    $User->where('type=1 AND status=1')->select();
  • 相关阅读:
    tp5中的一些小方法
    jquery 中的一写常用方法
    tp5文件上传
    使用json格式输出
    第十六篇:泛型算法结构
    第十五篇:流迭代器 + 算法灵活控制IO流
    第十四篇:一个文本查询程序的实现
    第十三篇:multimap容器和multiset容器中的find操作
    poj 2516(拆点+最小权匹配)
    poj 3686(拆点+最小权匹配)
  • 原文地址:https://www.cnblogs.com/suxiaolong/p/5569065.html
Copyright © 2020-2023  润新知