laravel-eloquent-flag
laravel-eloquent-flag copied to clipboard
[CONCEPT] Nullable flags
It's just a concept. Not yet decided if it will be included in future.
Add nullable flags state which will means that none of the actions were performed.
To proof concept we'll look at Classic\Accept
flag there could be 3 states:
-
is_accepted = null
- Not accepted and not rejected yet. -
is_accepted = true
- Entity was accepted. -
is_accepted = false
- Entity was rejected.
Scopes
NULL
-
withNotYetAccepted
will gettrue
+null
entities. -
withoutNotYetAccepted
will omit onlynull
entities. -
onlyNotYetAccepted
will get onlynull
entities.
FALSE
-
withRejected
will gettrue
+false
entities. -
withoutRejected
will omit onlyfalse
entities. -
onlyRejected
will get onlyfalse
entities.
NULL + FALSE
- Some method to get
null
+false
+true
entities. Right nowwithRejected
method is removing global scope.
The main issue here that all FALSE
scopes removes global scope, and entities with NULL
flag will be displayed then.
// :TODO: Write test case and try to implement nullable flag
Or find another solution, like extra database table to display what entities was not accepted
or rejected
yet.