• Yii框架下数据操作-model、对象


     1 ==================查询==================
     2 
     3 条件-绑定参数-返回多个对象
     4 $admin = Admin::model()->findAll($condition, $params);
     5 $admin = Admin::model()->findAll("username = :name", [":name" => $username]);
     6 $admin = Admin::model()->findAll("status = 1 ORDER BY id DESC limit 10");
     7 
     8 条件-绑定参数-返回一个对象
     9 $admin = Admin::model()->find($condition, $params);
    10 $admin = Admin::model()->find('username = :name', ':name'=>'admin');  
    11 
    12 
    13 主键-条件-绑定参数-返回多个对象
    14 $admin = Admin::model()->findAllByPk($postIDs, $condition, params);
    15 $admin = Admin::model()->findAllByPk($id,"name like :name and age=:age",array(':name'=>$name,'age'=>$age));
    16 $admin = Admin::model()->findAllByPk(array(1,2));
    17 
    18 主键-条件-绑定参数-返回一个对象
    19 $admin = Admin::model()->findByPk($postID, $condition, $params);
    20 $admin = Admin::model()->findByPk(1);
    21 
    22 条件数组-条件-绑定参数-返回多个对象
    23 $admin = Admin::model()->findAllByAttributes($attributes, $condition, $params);
    24 $admin = Admin::model()->findAllByAttributes(array('username' => 'admin'));
    25 
    26 条件数组-条件-绑定参数-返回一个对象
    27 $admin = Admin::model()->findByAttributes($attributes, $condition, $params);
    28 $admin = Admin::model()->findByAttributes(array('username' => 'admin'));
    29 
    30 sql语句-绑定参数-返回多个对象
    31 $admin = Admin::model()->findAllBySql($sql, $params);
    32 $admin = Admin::model()->findAllBySql("select id from admin where username = :name", [':name'=>'%ad%']);
    33 
    34 sql语句-绑定参数-返回一个对象
    35 $admin = Admin::model()->findBySql($sql, $params);
    36 $admin = Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin'));
    37 
    38 $criteria = new CDbCriteria;
    39 $criteria->select = 'id';//查询的字段
    40 $criteria->condition = 'nmae = :name';//有且只有一个条件
    41 $criteria->params = [':name' => 'admin'];//绑定参数
    42 $criteria->join = 'xxx';//连接表
    43 $criteria->with = 'xxx';//调用relations
    44 $criteria->order = 'id desc';//指定字段排序
    45 $criteria->offset = 1;//起始量,通常和limit配合使用
    46 $criteria->limit = 3;//指定查询数据量
    47 $criteria->group = 'xxx';//分组
    48 $criteria->having = 'xxx';
    49 $criteria->distinct = false;//是否唯一查询
    50 $criteria->addCondition('id = 1');//id = 1
    51 $criteria->addCondition('id = 1', 'or');//or id = 1
    52 $criteria->addInCondition('id', [1, 2, 3]);//id in (1,2,3)
    53 $criteria->addNotInCondition('id', [1, 2, 3])//id not in (1,2,3)
    54 $criteria->addSearchCondition('name', '你好');//name like '%你好%'
    55 $criteria->addBetweenCondition('id', 1, 10);//id between 1 and 10
    56 $criteria->compare('id', 1);//如果第二个参数是数字,则按照addCondition处理
    57 $criteria->compare('id', [1, 2, 3]);//如果第二个参数是数组,则按照addInCondition处理
    58 $admin = Admin::model()->find($criteria);
    59 
    60 条件-绑定参数-返回数据记录数
    61 $count = Admin::model()->count($condition, $params);
    62 $count = Admin::model()->count('name = "你好"');
    63 $count = Admin::model()->count('name = :name', [':name' => '你好']);
    64 
    65 sql语句-绑定参数-返回数据记录数
    66 $count = Admin::model()->countBySql($sql, $params);
    67 $count = Admin::model()->countBySql('select count(*) from admin where name = "你好"');
    68 $count = Admin::model()->countBySql('select count(*) from admin where name = :name', [':name' => '你好']);
    69 
    70 条件-绑定参数-返回true或false
    71 $exists = Admin::model()->exists($condition, $params);
    72 $exists = Admin::model()->exists('name = "你好"');
    73 $exists = Admin::model()->exists('name = :name', [':name' => '你好']);
    74 
    75 ==================新增==================
    76 $admin = new Admin;
    77 $admin->username = $username;
    78 $admin->time = time();
    79 $save = $admin->save();//需要指定全部字段,否则会返回false
    80 
    81 ==================修改==================
    82 Admin::model()->updateAll($attributes, $condition, $params);//$attributes是要修改的字段的集合,$condition条件,$params传入的值
    83 $update = Admin::model()->updateAll(['name' => '你好吗'], 'id = :id', [':id' => 1]);//将id = 1的name的值修改成‘你好吗’
    84 
    85 Admin::model()->updateByPk($pk, $attributes, $condition, $params);//$pk主键,可以是一个也可以是一个集合,$attributes是要修改的字段的集合,$condition条件,$params传入的值
    86 $update = Admin::model()->updateByPk(1, ['name' => '你好吗']);
    87 $update = Admin::model()->updateByPk([1, 2], ['name' => '你好吗']);
    88 
    89 Admin::model()->updateCounters($counters, $condition, $params);
    90 $update = Admin::model()->updateCounters(['tel' => 1], 'id = :id', [':id' => 1]);//将id = 1的tel字段自加1,类似set tel = tel + 1,如果是负数则自减1,set tel = tel - 1;
    91 
    92 ==================删除==================
    93 Admin::model()->deleteAll($condition, $params);
    94 $delete = Admin::model()->deleteAll('id = :id', [':id' => 1]);//删除id = 1的数据
    95 $delete = Admin::model()->deleteAll('id = 1');//删除id = 1的数据
    96 
    97 Admin::model()->deleteByPk($pk, $condition, $params);
    98 $delete = Admin::model()->deleteByPk(1, 'name = :name', [':name' => '你好']);//删除主键id = 1 and name = '你好'的数据,如果id = 1但是name != '你好'会删除失败,所以这个方法一般只需要传主键的值就好了
  • 相关阅读:
    半导体质量管理_Stargate
    半导体质量管理_eCAP LineWorks SPACE eCAP(电子OCAP)
    半导体质量管理_SQM 供应商质量管理
    半导体质量管理(LineWorks)_SPACE(统计过程分析和控制环境)
    计算机架构(层的由来)
    三层网络结构(客户端,应用服务层,数据源层)
    Navigator对象
    为什么大型互联网都需要网关服务?
    igate(因特网网关)
    [分享] SDK 2018.3烧写没有DDR的单板的Flash
  • 原文地址:https://www.cnblogs.com/firstlady/p/11383721.html
Copyright © 2020-2023  润新知