如何更新同一天创建的记录或在新的一天创建新记录? (Laravel 5.2)

How do I update a record create in the same day or create a new record if its a new day? (Laravel 5.2)

所以在 laravel 中,如果我有今天创建的记录,我可以在更新记录时调用更新或保存。厉害了。

但如果是明天呢?我怎么说,嘿,还是昨天吗?不?好的,让我们创建一个新记录。例如:

id: 1,
post_id: 1
viewed_times: 3
create_at: today

所以我可以更新它,因为它是今天。但是现在让我们假设明天(12:00 AM 之后)。

现在不更新记录了,因为是明天,我想创建一条新记录说:

id: 2,
post_id: 1
viewed_times: 2
create_at: tomorrow

现在您可以看到我们有一个具有相同 post ID 的新记录,并且新的一天(明天)的观看次数设置为 2。

最好的表达方式是什么:是今天还是明天?如果是今天,则更新现有记录,如果是明天,则创建一条新记录。

注意:如果我可以使用碳,那将是惊人的,可以使它变得更简单。

你会检查你的日期是否大于今天。

$date_to_compare = Carbon\Carbon::tomorrow(); 

if (Carbon\Carbon::now()->gt(Carbon::parse($date_to_compare)) {
    // will always fail because date to compare is tomorrow
}

您可以使用

$today = Carbon\Carbon::today();

然后像这样获取您创建的记录的明天:

$record->create_at->tomorrow();

然后

if($today->eq($record->create_at->tomorrow())){
    //it's tomorrow insert new record 
}else{
    //it's the same day just update the record :)
}