Yii2.0框架模型添加/修改/删除数据操作示例

这篇文章主要介绍了Yii2.0框架模型添加/修改/删除数据操作,结合实例形式分析了Yii2.0使用模型操作数据的添加、修改、删除相关实现技巧,需要的朋友可以参考下

以下实例以模型 User 为例:

添加数据

  1. new一个模型
1
$user = new User();
  1. 模型属性赋值

方式一

1
2
$user->name = 'Peak';
$user->age = '18';

方式二

1
2
3
4
5
$data = [
'name' => 'Peak',
'age' => 18
];
$user->attributes = $data;

方式三

1
2
3
4
5
$data = [
'name' => 'Peak',
'age' => 18
];
$user->setAttributes($data);

方式四

1
2
3
4
5
6
7
8
$data = [
'name' => 'Peak',
'age' => 18
];
$user->load($data, '');
if ($user->validate()) {// 数据校验
$user->save();
}
  1. 数据保存
1
2
3
$user->save();// 添加数据
$user->insert();// 添加数据
$id = $user->attributes['id'];// 获取当前添加数据后的自增id

Tip

load()方法解读:

通过查看load()方法可知,load()方法有两个参数,第一个参数 $data 是要填充的数据,第二个参数 $formName 是选择指定的模型

如果第二个参数不传,$formName 会默认为null,会默认取当前模型$this->formName()

如果指定了模型,会将模型名称作为key值,通过 $data[$formName] 取值,也就是这时候应该传的 $data 格式是:

1
2
3
4
5
6
$data = [
'User' => [
'name' => 'Peak',
'age' => 18
]
];

如果 $formName 传空字符串,则 $data 传递参数格式为:

1
2
3
4
$data = [
'name' => 'Peak',
'age' => 18
];

修改数据

方法一

1
2
3
4
$user = $User::findOne($id);
$user->name = 'Peak2';
$data = $user->update();// 修改
$data = $user->save();// 修改

方法二

1
2
3
4
5
6
// 将值进行 累加 或者 累减
// $count = 1, 就是加一
// $count = -1, 就是减一
$data = Uesr::updateAllCounters(['sort' => $count], ['id' => $id]);// 参数1为要修改的字段,参数2为修改条件

// 参数都是固定值

方法三

1
2
3
4
5
// 参数都是固定值
Uesr::updateAll(['status' => 1],['status' => 0,'flag' => 1]);

// 参数有范围值
Uesr::updateAll(['status' => 1],['and', ['status' => 0],['<>', 'flag', 1]]);

删除数据

方法一

1
2
3
//删除数据
$user = User::find()->where(['id' => 1])->one();// 获取id为1的数据
$user->delete();//删除数据

方法二

1
2
$uer = User::find()->where(['id' => 2])->all();// 获取id为2的数据
$data = $user[0]->delete();//删除数据

方法三

1
$user = User::deleteAll('id=2');//删除id为2的数据

方法四

1
2
//多个条件删除
$data = User::deleteAll('id>:id AND num<:num', [':id' => 2,':num' => 100]);

方法五

1
2
//删除所有数据
$user = User::deleteAll();
坚持原创技术分享,您的支持将鼓励我继续创作!
0%