laravel-eloquent-flag icon indicating copy to clipboard operation
laravel-eloquent-flag copied to clipboard

[CONCEPT] Nullable flags

Open antonkomarev opened this issue 8 years ago • 0 comments

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 get true + null entities.
  • withoutNotYetAccepted will omit only null entities.
  • onlyNotYetAccepted will get only null entities.

FALSE

  • withRejected will get true + false entities.
  • withoutRejected will omit only false entities.
  • onlyRejected will get only false entities.

NULL + FALSE

  • Some method to get null + false + true entities. Right now withRejected 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.

antonkomarev avatar Jan 06 '17 01:01 antonkomarev