ThinkPHP 查询语言

来源:互联网 发布:js 时间轴插件 编辑:程序博客网 时间:2024/06/05 13:25
<?phpnamespace Home\Controller;use Think\Controller;class DataBaseController extends Controller {    public function index(){        $Form=M('Form');        /*一, 使用字符串作为查询条件        print_r($Form->where('id=4 AND title=123')->select()); */        /*二, 使用数组作为查询条件        $where['title']='insert';        $where['create_time']=1472174461;        print_r($Form->where($where)->select());*/        /*OR AND查询 使用关键字:_logic        $where['title']='inset';        $where['create_time']=1472174461;        $where['_logic']='OR';//ORAND        print_r($Form->where($where)->select());*/        /*三、使用对象方式来查询        $where=new WHERE();        $where->id=4;        print_r($Form->where($where)->select());*/        /*表达式查询                 EQ  等于(=)                NEQ 不等于(<>)                GT  大于(>)                EGT 大于等于(>=)                LT  小于(<)                ELT 小于等于(<=)                LIKE    模糊查询                [NOT] BETWEEN   (不在)区间查询                [NOT] IN    (不在)IN 查询                EXP 表达式查询,支持SQL语法*/        //等于        //$map['id']=array('eq',7);        //BETWEEN 查询ID 4~6之间        //$map['id']=array('BETWEEN','4,6');        /*IN        $map['id']=array('IN','6,8');        $map['id']=array('NOT IN','6,8');        print_r($Form->where($map)->select());*/        /*EXP:表达式,支持更复杂的查询情况        //exp查询的条件不会被当成字符串,所以后面的查询条件可以使用任何SQL支持的语法,包括使用函数和字段名称。查询表达式不仅可用于查询条件,也可以用于数据更新        $data['title']='exp';        $data['count']=array('exp','count+1');        var_dump($Form->where('id=4')->save($data));*/        //快捷查询 | or & and        /* 不同列名 相同条件查询        $map['id|count']=4;        print_r($Form->where($map)->select());*/        /*不同列名 不同条件查询        $map['id&count']=array('4','3','_multi'=>true);        print_r($Form->where($map)->select());*/        /*同级查询        echo $Form->count();        // 获取用户数:        $userCount = $User->count();        // 或者根据字段统计:        $userCount = $User->count("id");        // 获取用户的最大积分:        $maxScore = $User->max('score');        // 获取积分大于0的用户的最小积分:        $minScore = $User->where('score>0')->min('score');        // 获取用户的平均积分:        $avgScore = $User->avg('score');        // 统计用户的总成绩:        $sumScore = $User->sum('score');        */        /*SQL查询 query执行SQL查询操作        print_r($Form->query('select * from think_form'));*/        /*execute 更新 写入数据库操作        echo $Form->execute('update think_form set count=5 where id=7');*/        /*动态查询  getBy 根据字段的值查询数据  getFieldBy 根据字段查询并返回某个字段的值    */        //print_r($Form->getByid(4));//By+列名 动态查询        //getFieldBy 动态查询 By+列名 动态查询 参数1:值 参数2:返回查询列        //print_r($Form->getFieldByid(4,'title'));        /*子查询        select方法        $subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->select(false);         buildSql方法        $subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->buildSql();         // 利用子查询进行查询         $model->table($subQuery.' a')->where()->order()->select()         */    }}
0 0