假设我的模型中有一个like字段,现在我想使用Cookie实现添加like的功能。例如,我们有一个文章ID,我们签入cookies,如果没有数据,那么我们添加like并设置时间为10小时,以此类推,10小时过去了,我们检查并再次添加like并再次设置时间。如果数据已经存在,那么我们不会添加like,也不会更新时间。
有人能看到一些这样的例子吗?或者从哪里开始,如何实现它?
我读了文档,但不太明白它是如何工作的
让我们获得一个带有like字段的值
$likes = Request::cookie('like');选择时间
$minutes = 600;下一步是什么,我如何检查才能添加一个赞?
发布于 2021-10-28 13:18:55
如果您的updated_at列没有在update时自动更新(默认情况下可以这样做),那么您需要这样做,这样查询就可以在正确的更新时间过滤行。您可以使用Carbon进行简单的时间计算。
$likes = Request::cookie('like');
$hours = 10;
if($likes) {
# Eloquent way
Article::find($id)
->where('updated_at', '<', Carbon::now()->subHours($hours)->toDateTimeString())
->increment('like');
}如果您想使用Query Builder方式,请使用以下语法:
# Query Builder way
DB::table('articles')
->where('id', $id)
->where('updated_at', '<', Carbon::now()->subHours($hours)->toDateTimeString())
->increment('like');未测试。
https://stackoverflow.com/questions/69753327
复制相似问题