У меня есть столбец с именем counter в моей таблице, называемый статьями
Вопрос в том, как я могу увеличить значение в этом столбце около 1, поэтому в контроллере или модели я буду использовать функцию обновления db.
Например, я думаю о чем-то вроде этого:
$id = 5; //article id (I will get that from the url or db, no problem with that) $this->db->update("current counter column value plus one where id column equals $id ");
И давайте предположим, что я получаю статью # просмотров:
$this->db->select_sum("counter")->get("articles");
Я знаю, что мне нужно проверить ip пользователя, так что, например, я считаю его не для каждой pageload, но только через 5 минут. Но это уже другая история ;). Мне нужно закончить эту проблему.
Вы можете использовать обычный запрос (с привязками):
$sql = "UPDATE articles SET counter = counter + 1 WHERE id = ?"; $this->db->query($sql, array($id));
Или, используя AR:
$query = $this->db->update('articles') ->set('counter','counter+1', FALSE) ->where('id', $id);
FALSE как третий аргумент в set()
говорит ему не избегать имен столбцов.
Вам не нужно получать количество просмотров, если вам нужно только увеличивать.