我如何更新记录创建在同一天或创建一个新的记录,如果它是新的一天?(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中,如果我有一个今天创建的记录,我可以在更新记录时调用update或save。太棒了。

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

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

所以我可以更新它,因为它是今天。但是现在让我们假设它是明天(上午12点以后)。

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

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

现在你可以看到我们有一个新的记录,具有相同的post id,新的一天(明天)的视图被设置为2。

说:是今天还是明天?如果是今天,则更新现有记录,如果是明天,则创建新记录。

注释:如果我可以使用碳,那将会使它变得更简单。

可以使用

$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 :)
}

您应该检查您的日期是否大于今天。

$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
}
相关文章: