Ребят, всех приветствую. В общем столкнулся с таким вопросом.
Упрощу несущественные нюансы. В базе есть таблица statistic_visit
Примерно с такой структурой: id|visit|date
То есть грубо говоря при каждом обновлении страницы, должен инкреметироваться visit
где дата соответствует сегодняшней.
Зондируя просторы интернета и документаций, подумал что правильнее будет сделать через Provider:
class StatisticVisitProvider extends ServiceProvider
{
public function boot(Request $request)
{
$toDay = date("Y-m-d");
StatisticVisit::where('day', $toDay)->increment('view', 1);
}
public function register()
{
}
}
Все отрабатывает, но есть одна проблемка. В базу он при каждом обновлении плюсует не на 1, а на большее число, например 3, 80. Видимо зависимо от того какую страницу открываю.
И соответственно напрашивается вывод, что провайдер отрабатывает не один раз. То есть при каждом ajax запросе, или подгрузке какого либо виджета он отрабатывает инкремент.
Прошу подсказать, как правильно это реализовать, на верном ли я пути если нет то направить.
Заранее премного благодарен.
Этот вариант уже озвучивался в комментарии выше. Я бы тоже делал через middleware. По поводу того, что нужно разграничивать ajax и обычный клиентский синхронный http запрос тут есть несколько вариантов:
https://stackoverflow.com/questions/29231587/laravel-check-if-ajax-request
Виртуальный выделенный сервер (VDS) становится отличным выбором
Предисловие: Есть фильтр товаров, использую плагин WooCommerce Product Filter, по умолчанию стоит Range Filter через слайдер(ползунок), но у меня задача, что...
Как мне вывести на одной странице все родительские категории со ссылками на их дочерние категории, структура примерно такая: