yii2实现修改及批量修改
使用model::save()进行修改
$user = Qipa250::find()->where(['name'=>'qipa'])->one(); //获取name等于qipa的模型
$user->age = 250; //修改age属性值
$user->save(); //保存
直接修改
修改所有用户=qipa的年龄age为250
$result = Qipa250::model()->updateAll(['age'=>250],['name'=>'qipa']);
使用createCommand()修改
Yii::$app->db->createCommand()->update('user', ['age' => 250], 'name = qipa')->execute();
今天主要讲修改多条数据的某一字段 :
$sum = Yii::$app->db->createCommand()->update('me_qipa_250', ['identification' => 2], ['in_userid'=>$userid,'status'=>3,'identification'=>1])->execute();
$sum = Yii::$app->db->createCommand()->update('me_qipa_250 ', ['identification' => 2], ['in_userid'=>$userid,'status'=>3,'identification'=>1])->execute();
me_qipa_250 :表名(table需要表前缀)
[‘identification’ => 2]:需要修改的字段和字段值
[‘in_userid’=>$userid,‘status’=>3,‘identification’=>1]:
修改数据的条件(也就是得到你需要修改的数据)。
execute():执行(必要)
批量插入数据
$rows[] = [
'title' => $model->title,
'content' => $model->content,
];
Yii::$app->db->createCommand()->batchInsert(Post::tableName(), ['title', 'content'], $rows)->execute();
示例代码
$now_time = self::getNowTime();
foreach ($xz_pk_department_list as $xzdprtmtk => $xzdprtmtv) {
//组合数据
$favorite_pk_department_data[] = array(
'department_id' => $xzdprtmtv,
'user_id' => $user_id,
'company_id' => $company_id,
'app_type' => 'dingtalk',
'create_time' => $now_time,
'update_time' => $now_time,
);
}
$table_params = ['department_id', 'user_id', 'company_id', 'app_type', 'create_time', 'update_time'];
Yii::$app->db_guanli_center->createCommand()->batchInsert(FavoritePkDepartment::tableName(), $table_params, $favorite_pk_department_data)->execute();