我有一个使用laravel构建的图书网站,有什么方法可以在数据库中知道和存储每本书访问过的最新章节URL?下次需要帮助时,用户来读书时,他会知道自己可以在哪里读书。 谢谢!
答案 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);
}
}
然后找出例如用户最后一次离开的地方,只需从阅读日志中获取最新的项目即可。