在 codeigniter ion auth 中更新组

Updating group in codeigniter ion auth

我是 codeigniter ion auth 的新手,并将其应用到一个项目中。按照 documentation 一切正常。在探索时,我注意到当我 update/edit 任何用户数据时,它不会抛出任何错误,但 users_groups 不会更新。

代码:

$id = $this->input->post('id');

$data = array(
  'first_name' => $this->input->post('first_name'),
  'last_name' => $this->input->post('last_name'),
  'group' => array($this->input->post('group_id')),
  'active' => $this->input->post('active')
  );

$result = $this->ion_auth->update($id, $data);

如有任何帮助,我们将不胜感激。谢谢!

使用ion_auth->update方法只能更新存储在用户table中的用户属性,不能修改用户组。
(在内部它查询来自用户 table 的列并仅更新那些属于用户有效属性的参数)
要修改用户组,您需要执行以下操作:

$user_id = 123;
$group_id = 3;// let's say 3 is the ID of the 'publisher' user group

// to remove the user (#ID:123) from the 'publisher' group call this:
$this->ion_auth->remove_from_group($group_id, $user_id);
// to remove the user (#ID:123) from all of the assigned groups call this:
$this->ion_auth->remove_from_group(false, $user_id);

// to add the user (#ID:123) to the 'publisher' group call this:
$this->ion_auth->add_to_group($group_id, $user_id);