Есть ли способ увеличить таблицу представлений для некоторого содержимого или, если она не существует, добавить первое представление без выполнения 2 запросов. Вот мой текущий код, который работает.
function increment_views($id = null) {
if ($id !== NULL) {
$record = array('id' => $id, 'views' => 'views+1');
// check exists
$query = $this->db->get_where('views', array('id' => $id), 1, 0);
if ($query->num_rows() == 0) {
// if !exists, insert
$db_view_data = array(
'id' => $id,
'views' => '1'
);
$this->db->insert('views', $db_view_data);
} else {
// A record does exist, update it.
$this->db->where('id', $id);
$this->db->set('views', 'views+1', false);
$this->db->update('views');
}
// check it worked
if ($this->db->affected_rows() > 0) {
return true;
}
return false;
}
return false;
}