Open antonkomarev opened 7 years ago
The main issues are:
Checks for dates instead of NULL
values.
Before:
$builder->whereNotNull('accepted_at');
After:
return $builder->where('accepted_at', '<=', Carbon::now());
This could be solved by adding additional methods to check if this functionality is required. Each flag should has +1 method.
For the flag AcceptedAt
there are methods like: withRejected
, onlyRejected
. Should this methods include record which will be accepted in future? Technically it isn't accepted yet because of future timestamp. But logically it's not rejected already.
This could be useful for example when you want an article to be automatically shown in future date.
Right now if future
published_at
will be setted - this record will be published immediately. Global scopes and helpers should check not for the null value, but for the exact date is past.This use case will be useful for all timestamp flags. For example
expired_at
flag will be useful for subscriptions and so on.