当用户在他们的帐户中并单击“删除帐户”时,它应该删除该用户以及他们为用户留下的消息,并且也停止向其他用户显示为朋友。我有 2 个这样的工作,但如果其他用户登录,消息仍然会出现。我已经创建了一个函数,用户可以使用它来删除朋友的消息,我试图将它实现到一个新函数中,所以它将删除消息,但来自特定朋友。这是原始的 deleteMsg,它将删除所有字段(message_id、from、to、message),因此该消息将在消息数据库中被删除。此功能出现在我的消息模型中:
function deleteMsg($message_id)
{
$this->db->where(array('message_id' => $message_id));
$this->db->delete('messages');
}
这是我正在尝试实现的功能,以便在调用删除帐户时,它将删除该已删除用户在其他用户主页上留下的所有消息。它也出现在我的模型中:
function deleteAccountMsg($message_id, $from)
{
$delAcctMsg = $this->db->select('*')->from('messages')->where('message_id', $message_id)->where('from', $from);
$delete = $this->db->delete('messages', $delAcctMsg);
}
最后,这是我的控制器中的 DeleteUserAccount 函数,它应该抓取与用户关联的所有内容并将其删除:
function Deleteuseraccount()
{
parent::__construct();
$this->load->model("membership");
$this->load->model("friends");
$this->load->model("messages");
$username = $this->session->userdata('username');
$this->membership->deleteUser($username);
$this->friends->deleteMemberFriend($username, $friendname);
$this->messages-> deleteAccountMsg($message_id, $from);// this is the function I'm calling that isn't deleting the associate messages from the deleted user
$this->session->sess_destroy();
redirect('start');
}
}