Php 使用codeigniter在数据库中删除和插入多条记录
我正在做一个项目,无法解决当前问题 看法 管理员可以使用复选框为用户分配多个或单个角色,如下图所示: 现在,当我们点击提交按钮。以下是控制器的功能: 控制器 它正在成功地存储所有数据。在循环内部,我调用model函数将数据添加到数据库中 现在,我想做的是,如果当前用户有任何现有角色,则必须从数据库中删除所有现有角色,因为它不允许重复值。稍后,在数据库中逐个添加所有角色。这是我的型号代码: 模型 现在,我遇到的问题是,当model运行delete查询时,它只删除数据库中已选中角色的记录。或者,如果我只按用户id删除,那么每次运行查询时它都会删除所有记录。我不能简单地插入记录,因为我必须更新角色,并且可以在不同的时间分配不同的角色 任何帮助都将不胜感激。Php 使用codeigniter在数据库中删除和插入多条记录,php,mysql,sql,database,codeigniter,Php,Mysql,Sql,Database,Codeigniter,我正在做一个项目,无法解决当前问题 看法 管理员可以使用复选框为用户分配多个或单个角色,如下图所示: 现在,当我们点击提交按钮。以下是控制器的功能: 控制器 它正在成功地存储所有数据。在循环内部,我调用model函数将数据添加到数据库中 现在,我想做的是,如果当前用户有任何现有角色,则必须从数据库中删除所有现有角色,因为它不允许重复值。稍后,在数据库中逐个添加所有角色。这是我的型号代码: 模型 现在,我遇到的问题是,当model运行delete查询时,它只删除数据库中已选中角色的记录。或者,如果
谢谢您可以通过制作两个函数来实现 1 saveRoles$role$user\u id 2.updateRoles$role$user\u id
function saveRoles($role, $user_id)
{
// can save roles of user using insert
}
function updateRoles($role, $user_id)
{
// delete all existing roles of that user
// with only user_id in where clause
// after that you can call
$this->saveRoles($role, $user_id);
}
updateRoles函数将删除所有现有条目,并在数据库中插入您要更新的一组新值
我希望这对你有帮助 1>从数据库表中获取所有保存权限2>通过将其与post数据进行比较生成两个数组。一个是删除权限需要删除的数组,第二个是插入权限需要插入到表中的数组您是否也可以共享表结构。。。?所以,这很容易解释。
function updateRole($role){
$this->db->where('userID', $role['userID']);
$this->db->where('roleID', $role['roleID']);
$this->db->delete('user_roles');
$this->db->insert('user_roles', $role);
return ($this->db->affected_rows() > 0) ? TRUE : FALSE;
}
function saveRoles($role, $user_id)
{
// can save roles of user using insert
}
function updateRoles($role, $user_id)
{
// delete all existing roles of that user
// with only user_id in where clause
// after that you can call
$this->saveRoles($role, $user_id);
}