新增
使用model::save()操作进行新增数据
//第一种
$user= new User;
$user->username =$username;
$user->password =$password;
$user->save()
//第二种 写一个公共方法,传入数组,数组中每一个字段的名称与数据库中字段一致
public static function addUser($params)
{
try {
//常用的字段可以直接写到公用函数中,而不用每次都单独传值
$params['create_time'] = date("Y-m-d H:i:s");
//查询一下这个用户是否存在
$user_where=" user_name=".$params['user_name'];
$user_ay=User::find()->select('id')->where($user_where)->asArray()->one();
if($user_ay['id']>0){
$user_id=$user_ay['id'];
}else{
$model = new User();
if (!$model->load($params, '')) {
$user_id = 0;
}
if (!$model->validate()) {
$user_id = 0;
}
if ($model->save()) {
//得到保存的用户id
$user_id = $model->primaryKey;
}
}
} catch (Exception $e) {
$user_id=0;
}
return $user_id;
}
使用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();
修改
使用model::save()进行修改
$user = User::find()->where(['name'=>'xiaoming'])->one(); //获取name等于test的模型
$user->age = 40; //修改age属性值
$user->save(); //保存
直接修改:修改用户test的年龄为40,将所有用户名称为xiaoming的年龄都改为40
$result = User::model()->updateAll(['age'=>40],['name'=>'xiaoming']);
使用createCommand()修改
Yii::$app->db->createCommand()->update('user', ['age' => 40], 'name = test')->execute();
写一个公共方法,修改用户信息
public static function saveEditUserInfo($params)
{
try {
$model = new User();
$model = $model::findOne($params['id']);
if(!$model){
throw new Exception('查无此用户!');
}
unset($params['id']);
if (!$model->load($params, '')) {
throw new Exception('数据读取失败!');
}
if (!$model->validate()) {
throw new Exception('数据验证失败!');
}
if (!$model->save()) {
throw new Exception('数据保存失败!');
}
} catch (Exception $e) {
self::$result['status'] = 1;
self::$result['msg'] = $e->getMessage();
}
return self::$result;
}
删除
使用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();
查询
查询单条记录
public static function getuserinfo($user_name){
$user_where=" user_name=".$user_name;
$user_info=User::find()->select('*')->where($user_where)->asArray()->one();
return $user_info;
}
查询多条数据
public static function getuserlist($user_name){
$user_where=" user_name=".$user_name;
$user_info=User::find()->select('*')->where($user_where)->asArray()->all();
return $user_info;
}