ユーザーが友達から受信したメッセージを1つずつ削除できる機能をアプリケーションに追加するために追加しています。メッセージモデルにdeleteMessage関数を追加しました。次に、ホームコントローラーの削除関数内でこれを呼び出します。ホームビューでは、「削除」を押すことでメッセージを削除できるはずです。現時点では何も起こりません。これにより、メッセージデータベースに残っているこの特定のメッセージも削除されます。dbテーブルには、from、to、およびmessageのフィールドが保持されます。助けてくれてありがとう
私のホームコントローラー:
class Home extends CI_Controller
{
function Home()
{
parent::__construct();
$this->load->model('messages');
$this->load->model('friends');
$this->load->model("profiles");
}
function delete($message)
{
$username = $this->session->userdata('username');
$this->messages->deleteMessage($from, $to, $message);
redirect('home');
}
function index()
{
$username = $this->session->userdata('username');
$membername = $this->session->userdata('membername');
$viewData['membername'] = $membername;
$viewData['username'] = $username;
$viewData['following'] = $this->friends->getFollowing($username);
$viewData['followers'] = $this->friends->getFollowers($username);
$viewData['messages'] = $this->messages->getMessages($membername);
$viewData['friends'] = $this->friends->getFriends($username);
$this->load->view('shared/header');
$this->load->view('home/hometitle', $viewData);
$this->load->view('shared/nav');
$this->load->view('home/homeview', $viewData);
$this->load->view('shared/footer');
}
}
メッセージモデル:
class Messages extends CI_Model
{
function Messages()
{
parent::__construct();
}
function deleteMessage($from, $to, $message)
{
$this->db->select('*')->from('messages')->where('from', $from)->where('to', $to)->where('message', $message);
$this->db->delete();
}
}
ホームビュー:
<h2> Messages</h2>
<ul>
<?php foreach($messages as $message):?>
<li><?=$message['from']?> says...: "<?=$message['message']?>"(<?=anchor("home/delete/$message", 'delete')?>)</li>
<?php endforeach?>
</ul>
</div>