首页 > yii2教程 > yii2数据库使用

yii2数据表模型类AR--操作数据

AR 提供以下方法插入、更新和删除与 AR 对象关联的那张表中的某一行:

yii\db\ActiveRecord::save()

insert() --  增加记录

update()  --  更新记录

delete()  --  删除记录

AR 同时提供了一下静态方法,可以应用在与某 AR 类所关联的整张表上。 用这些方法的时候千万要小心,因为他们作用于整张表! 比如,deleteAll() 会删除掉表里所有的记录。

yii\db\ActiveRecord::updateCounters()

updateAll()

updateAllCounters()

deleteAll()

下面的例子里,展现了如何使用这些方法:

// 插入新客户的记录
$user = new Customer();
$user->name = 'James';
$user->email = 'james@example.com';
$user->save(); // 等同于 $user->insert();

// 更新现有客户记录
$user = Customer::findOne($id);
$user->email = 'james@example.com';
$user->save(); // 等同于 $user->update();

// 删除已有客户记录
$user = Customer::findOne($id);
$user->delete();

// 删除多个年龄大于20,性别为男(Male)的客户记录
User::deleteAll('age > :age AND gender = :gender', [':age' => 20, ':gender' => 'M']);

// 所有客户的age(年龄)字段加1
User::updateAllCounters(['age' => 1]);

须知:save() 方法会调用 insert() 和 update() 中的一个, 用哪个取决于当前 AR 对象是不是新对象(在函数内部,会检查 yii\db\ActiveRecord::isNewRecord 的值)。 若 AR 对象是由 new 操作符 初始化出来的,save() 方法会在表里插入一条数据; 如果一个 AR 是由 find() 方法获取来的, 则 save() 会更新表里的对应行记录。

 

美景欣赏

美景欣赏

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。