В папке входящих сообщений пользователя из системы обмена сообщениями пользователя я создаю функцию, с помощью которой пользователь может сделать сообщение электронной почты избранным.
Я создал 2 метода в своей модели сообщений.Каждый обновляет 0 в таблице «messages», столбце «favourite» до 1, что означает, что пользователь хочет, чтобы сообщение было избранным.Кроме того, изображение, по которому пользователь нажимает, чтобы сделать сообщение избранным, меняется с серого на цветное.
Затем я делаю эту же процедуру еще раз, если пользователь хочет сделать сообщение не избранным.1 обновляется до 0, и изображение снова становится серым.
Ниже приведен мой jquery / javascript, который в основном делает что-то, если флажок установлен (цветное изображение), и что-то еще, если флажок не установлен.не проверено (изображение затенено).
// favourite check box
$('input.favourite:checkbox').simpleImageCheck({
image: '<?php echo base_url()?>images/messages/check.png',
imageChecked: '<?php echo base_url()?>images/messages/unchecked.png',
afterCheck: function(isChecked) {
if (isChecked) {
//query to db from php to update favourite number to 1
}
else (!isChecked)
{
//query to db from php to update favourite number to 0
}
}
});
То, что я пытаюсь выяснить, это лучший способ назвать мои запросы в 2 дБ в моей модели:
public function favourite_checked($message_id)
{
$username = $this->session->userdata('username');
return $this->db->query("UPDATE messages SET favourite = 1 WHERE id = $message_id AND to_user = '$username'");
}
public function favourite_unchecked($message_id)
{
$username = $this->session->userdata('username');
return $this->db->query("UPDATE messages SET favourite = 0 WHERE id = $message_id AND to_user = '$username'");
}
Что было былучший способ сделать это?Вызывать модель непосредственно в представлении - это плохая практика, не правда ли?
Так как же я могу достичь того, чего хотел бы достичь?
Может ли диспетчер выступать в роли посредника?
Если так, то как бы я даже вызвал контроллер в функции javascript?
Я всегда ценю совет, данный здесь.Заранее спасибо