Yii2.0框架基础--数据查询之AR类方法二

1、快捷批量操作

yii\db\ActiveRecord::updateAll($attributes, $condition = '') 
  //将所有satus为2的记录的status更新为1
  //update user set status = 1 where status = 2
    eg:  User::updateAll(['status' => 1], 'status = 2');

yii\db\ActiveRecord::updateAllCounters($counters, $condition = '')  
  //所有用户的age字段加1
  //update user set age = age + 1
    eg:  User::updateAllCounters(['age' => 1]);

yii\db\ActiveRecord::deleteAll($condition = '') 
  //删除所有status为3的记录
  //delete from user where status = 3
    eg:  User::deleteAll('status = 3');

2、快捷查询findOne()和findAll()

findOne()和findAll()传入一个参数时默认为主键,否则须以键值对表示

 // 查询pk值为10的客户
$customer = Customer::findOne(10);
$customer = Customer::find()->where(['id' => 10])->one();

// 查询age为30,status为1的客户
$customer = Customer::findOne(['age' => 30, 'status' => 1]);
$customer = Customer::find()->where(['age' => 30, 'status' => 1])->one();
// 查询pk为10的所有客户
$customers = Customer::findAll(10);
$customers = Customer::find()->where(['id' => 10])->all();
// 查询pk值为10,11,12的客户
$customers = Customer::findAll([10, 11, 12]);
$customers = Customer::find()->where(['id' => [10, 11, 12]])->all();
// 查询年龄为30,状态值为1的所有客户
$customers = Customer::findAll(['age' => 30, 'status' => 1]);
$customers = Customer::find()->where(['age' => 30, 'status' => 1])->all();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值