Codeigniter - Как удалить строку из таблицы, но только один раз? - PullRequest
1 голос
/ 12 февраля 2020

В настоящее время я создаю сайт управления событиями с использованием Codeigniter. Каждый пользователь может «купить» билеты на событие, а затем просмотреть список всех своих событий, на которые у него есть билеты. Я хочу дать пользователю возможность удалить событие из своего списка и вернуть один билет. У меня это в основном работает со следующей функцией:

public function remove_user_event($event_id)
{
    $this->db->where('event_id', $event_id);
    $this->db->where('user_id', $this->session->userdata('user_id'));
    $this->db->delete('purchased_tickets');
    return true;
}

Это действительно удаляет событие для пользователя, но единственная проблема состоит в том, что он удаляет все вхождения этого события, а не просто делает это одно время. то есть, если они «купили» 3 билета при попытке удалить один, он удаляет все 3. Просто интересно, как я могу удалить событие только один раз за каждый раз, когда вызывается функция. Любая помощь будет оценена, ура.

1 Ответ

0 голосов
/ 12 февраля 2020

Если вы хотите ограничить количество удаляемых строк, используйте предложение LIMIT следующим образом:

public function remove_user_event($event_id)
{
   $this->db->where('event_id', $event_id);
   $this->db->where('user_id', $this->session->userdata('user_id'));
   $this->db->limit(1); 
   $this->db->delete('purchased_tickets');
   return true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...