如何获得Laravel中每本书访问的最新章节URL?

时间:2018-09-10 05:03:06

标签: php laravel

我有一个使用laravel构建的图书网站,有什么方法可以在数据库中知道和存储每本书访问过的最新章节URL?下次需要帮助时,用户来读书时,他会知道自己可以在哪里读书。 谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用Redis-https://laravel.com/docs/5.6/redis

 Redis::set('latestChapter', '35');

答案 1 :(得分:0)

使用cookie将允许用户从上次中断的地方接管,即使它们尚未登录,也应在用户帐户上进行设置,这样即使他们登录也可以跟踪用户的进度不同的设备。如果用户必须登录才能阅读您的书,它会有所帮助,因为这样,您将始终拥有可通过身份验证的用户,可以将日志注册到该用户。

我建议您跟踪用户ID,章节ID,也许还有书ID,以及日期时间(可以是自动填充的created_at列)。通过记录这些内容,与仅记录他们上次访问的URL相比,您可以了解更多有关书籍使用情况和用户行为的信息。

您可以侦听retreived事件,然后创建日志项:

<?php

class Chapter extends Model
{
    protected $dispatchesEvents = [
        'retreived' => LogUserReading::class,
    ];
}

class LogUserReading
{
    public function handle(Chapter $chapter)
    {
        ReadingLog::create(Auth::user()->id, $chapter->id, $chapter->book->id);
    }
} 

然后找出例如用户最后一次离开的地方,只需从阅读日志中获取最新的项目即可。