所以在laravel中,如果我有一个今天创建的记录,我可以在更新记录时调用更新或保存。真棒。
但如果明天呢?怎么说呢,嘿,它还在昨天吗?没有?好的,我们创建一个新的记录。例如:
id: 1,
post_id: 1
viewed_times: 3
create_at: today
所以我可以更新它,因为它是今天。但现在让我们假设明天(凌晨12点之后)。
现在不是更新记录,因为明天,我想创建一条新记录:
id: 2,
post_id: 1
viewed_times: 2
create_at: tomorrow
现在您可以看到我们有一个具有相同帖子ID的新记录,并且新日(明天)的视图设置为2.
最好的说法是什么:是今天还是明天?如果它今天然后更新现有记录,如果明天,则创建一个新记录。
注意:如果我能使用碳会让它变得更加简单。
答案 0 :(得分:1)
您可以检查您所拥有的日期是否超过今天。
$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
}
答案 1 :(得分:1)
您可以使用
$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 :)
}