yii2数据表模型类AR--操作数据
2017-07-11 22:27:56
•
阅读
打赏
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() 会更新表里的对应行记录。
美景欣赏


相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型