Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 30.07.2015 12:59:09

Счетчик просмотров

Добрый день. Возник вопрос как грамотнее организовать счетчик просмотров темы на уровне бд. Сначала были идеи использовать поле

$table->integer('counter', true);

но как я понял, почитав про mysql, он не для этих целей, остается банальный вариант

$post->increment('counter');

Или есть другие варианты?

Изменено TuX560 (30.07.2015 12:59:38)

Не в сети

#2 01.08.2015 12:16:05

Re: Счетчик просмотров

Я сделал это так -

Controller

$viewsUpdate = \App\Content::updateViews($id);

Model

    
public function scopeUpdateViews($query, $id) {
        return $query->whereId($id)->increment('views', 1);;
}

Не в сети

#3 03.08.2015 09:06:55

Re: Счетчик просмотров

Ну да, а учитывая что обновляем мы счетчик просмотров при отображении/получении темы, думаю логично будет поместить инкримент перед передачей поста во view

Не в сети

#4 04.08.2015 17:43:51

Re: Счетчик просмотров

1. умные люди на mysql давно не работают ввиду его ущербности.
2. сделав триггер на обновление либо чтение строки с функцией автоматического обновления вы бы решили эту проблему на уровне бд, а не рнр
3. читайте документации о командах/job'ах и другой сервисной составляющей лары. это поможет автоматизировать подобные вещи на уровне всего фреймворка.
4. работа посредством обращений к бд не через орм осложняет работу и в принципе создаёт неудобства в будущем.

Не в сети

#5 05.08.2015 13:02:17

Re: Счетчик просмотров

Благодарю, читал про достоинства Postgree и думаю позже им заняться, но пока это просто изучение самой Laravel и ее функционала, до экспериментов с БД пока не дошел, поэтому используется MySQL. За советы огромное спасибо, думал же что такое должно быть возможно на уровне БД но не знал что именно искать.

Не в сети

Подвал раздела