yii增删改查

新增 

使用model::save()操作进行新增数据

$user= new User;         
$user->username =$username;  
$user->password =$password;  
$user->save()
使用createCommand()进行新增数据

Yii::$app->db->createCommand()->insert('user', [
    'name' => 'test',
    'age' => 30,
])->execute();
批量插入数据

Yii::$app->db->createCommand()->batchInsert('user', ['name', 'age'], [
    ['test01', 30],
    ['test02', 20],
    ['test03', 25],
])->execute();

查询

Test::find()->one();    此方法返回一条数据;

Test::find()->all();    此方法返回所有数据;

Test::find()->count();    此方法返回记录的数量;

Test::find()->average();    此方法返回指定列的平均值;

Test::find()->min();    此方法返回指定列的最小值 ;

Test::find()->max();    此方法返回指定列的最大值 ;

Test::find()->scalar();    此方法返回值的第一行第一列的查询结果;

Test::find()->column();    此方法返回查询结果中的第一列的值;

Test::find()->exists();    此方法返回一个值指示是否包含查询结果的数据行;

Test::find()->batch(10);  每次取10条数据 

Test::find()->each(10);  每次取10条数据,迭代查询 

//根据sql语句查询:查询name=test的客户
Test::model()->findAllBySql("select * from test where name = test"); 

//根据主键查询:查询主键值为1的数据
Test::model()->findByPk(1); 

//根据条件查询(该方法是根据条件查询一个集合,可以是多个条件,把条件放到数组里面) 
Test::model()->findAllByAttributes(['username'=>'admin']); 

//子查询
$subQuery = (new Query())->select('COUNT(*)')->from('Test');
// SELECT `id`, (SELECT COUNT(*) FROM `Test`) AS `count` FROM `Test`
$query = (new Query())->select(['id', 'count' => $subQuery])->from('Test');

//关联查询:查询客户表(Test)关联订单表(orders),条件是status=1,客户id为1,从查询结果的第5条开始,查询10条数据
$data = (new Query())
    ->select('*')
    ->from('test')
    ->join('LEFT JOIN','orders','Test.id = orders.Test_id')
    ->where(['status'=>'1','Test.id'=>'1'])
    ->offset(5)
    ->limit(10)
    ->all()

修改

/*
 * $pk 代表主键,可以是一个也可以是一个集合。
 * $attributes 代表是要修改的字段的集合。
 * $condition 代表条件。
 * $params 传入的值。
*/
$count = User::model()->updateByPk($pk,$attributes,$condition,$params);
if($count > 0) {
    echo '修改成功';
} else {
    echo '修改失败';
}

//第二种修改方法
$model = User::model()->findByPk($pk);
$model->id = 10;
$model->user_name = 'zhangsan';
$model->password = 'sb';
$count = $model->update(array('id','user_name','password'));
if($count>0) {
    echo '修改成功';
} else {
    echo '修改失败';
}
使用model::save()进行修改
$user = User::find()->where(['name'=>'test'])->one(); //获取name等于test的模型
$user->age = 40; //修改age属性值
$user->save();   //保存

直接修改:修改用户test的年龄为40
$result = User::model()->updateAll(['age'=>40],['name'=>'test']);

使用createCommand()修改
Yii::$app->db->createCommand()->update('user', ['age' => 40], 'name = test')->execute();

删除 

使用model::delete()进行删除
$user = User::find()->where(['name'=>'test'])->one(); 
$user->delete();

直接删除:删除年龄为30的所有用户
$result = User::deleteAll(['age'=>'30']);

根据主键删除:删除主键值为1的用户
$result = User::deleteByPk(1);

使用createCommand()删除
Yii::$app->db->createCommand()->delete('user', 'age = 30')->execute();

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值