protected function operatorForWhere($key, $operator, $value)
{
return function ($item) use($key, $operator, $value) {
$retrieved = data_get($item, $key);
switch ($operator) {
default:
case '=':
case '==':
return $retrieved == $value;
case '!=':
case '<>':
return $retrieved != $value;
case '<':
return $retrieved < $value;
case '>':
return $retrieved > $value;
case '<=':
return $retrieved <= $value;
case '>=':
return $retrieved >= $value;
case '===':
return $retrieved === $value;
case '!==':
return $retrieved !== $value;
}
};
}