Правильно регистрируйте / отслеживайте клики на странице - как? - PullRequest
0 голосов
/ 24 декабря 2018

Я создаю небольшой инструмент для мониторинга страниц и хочу регистрировать клики на данной странице.

Важно, чтобы позже я мог запрашивать клики в определенный день на определенной странице и т. Д.Пока это то, что я создаю, но я не уверен, что это лучшее решение.

$clicks = Click::where('page_id', $pid)
            ->whereDate('created_at', DB::raw('CURDATE()'))
            ->get();

if($clicks->isEmpty()) {
    $clicks = new click;
    $clicks->clicks = 1;
    $clicks->page_id = $pid;
    $clicks->save();
}
else {
    $clicks->first()->increment('clicks');
}

И когда я хочу показать его пользователю, я буду делать следующее:

@foreach ($page->click as $click)
<?php
if(check_in_range($from, $to, $click->created_at->format('Y-m-d'))) {
    $clicks = $clicks + $click->clicks; 
}
?>
@endforeach
{{ $clicks }}

Таким образом, каждый раз, когда кто-то посещает страницу, я создаю новую строку в базе данных, но если уже есть щелчок для этого дня, я увеличиваю его.

Другое решение может бытьпросто регистрировать каждый клик как одну строку, но это очень быстро будет много строк.

Я ищу предложения и лучшее решение (если есть):)

1 Ответ

0 голосов
/ 24 декабря 2018

Может быть, есть много решений.В этом случае может быть удобно сохранить всю информацию о кликах по строкам.

И запрашивать только клик и конкретный день

$start_date = 'your date';
$end_date = 'your_date'; //Maybe you can give the choice to select a range of dates;
$clicks = Click::where('page_id',$page_id)->whereBetween('created_at',$start_date,$end_date)->get();
$qty = $clicks->count();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...