/** * Inserts user on event model. * * @param EntrantsModel $event */ public function saveUserOnEvent(EntrantsModel $event) { $fields = array('event_id' => $event->getEventId(), 'user_id' => $event->getUserId(), 'status' => $event->getStatus()); $userId = (int) $this->db()->select('*')->from('events_entrants')->where(array('user_id' => $event->getUserId(), 'event_id' => $event->getEventId()))->execute()->fetchCell(); if ($userId) { /* * User does exist already, update. */ $this->db()->update('events_entrants')->values(array('status' => $event->getStatus()))->where(array('event_id' => $event->getEventId(), 'user_id' => $event->getUserId()))->execute(); } else { /* * User does not exist yet, insert. */ $userId = $this->db()->insert('events_entrants')->values($fields)->execute(); } }