1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gsang-laravel-vue-element-admin

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
VisitsHelper.php 1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Gsangu Отправлено 6 лет назад 6023959
<?php
/**
* Created by PhpStorm.
* User: cocoyo
* Date: 2018/5/13 0013
* Time: 19:30
*/
namespace App\Traits;
use Illuminate\Support\Facades\Redis;
trait VisitsHelper
{
protected $hash_prefix = 'cocoyo_visit';
/**
* 记录文章访问数
*
*/
public function recordVisit()
{
Redis::hIncrBy($this->hash_prefix, $this->slug, 1);
}
/**
* 同步访问量至数据库
*/
public function syncDatabaseVisit()
{
// 从 Redis 中获取所有哈希表里的数据
$visits = Redis::hGetAll($this->hash_prefix);
foreach ($visits as $slug => $visit) {
if ($article = $this->where('slug', $slug)->first()) {
$article->view_count = $visit;
$article->save();
}
}
}
/**
* 获取访问数
*
* @param $value
* @return mixed
*/
public function getViewCountAttribute($value)
{
return Redis::hGet($this->hash_prefix, $this->slug) ?: $value;
}
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/gsang-laravel-vue-element-admin.git
git@gitlife.ru:oschina-mirror/gsang-laravel-vue-element-admin.git
oschina-mirror
gsang-laravel-vue-element-admin
gsang-laravel-vue-element-admin
master