src/Prettus/Repository/Traits/CacheableRepository.php
protected function serializeCriterion($criterion)
    {
        try {
            serialize($criterion);

            return $criterion;
        } catch (Exception $e) {
            // We want to take care of the closure serialization errors,
            // other than that we will simply re-throw the exception.
            if ($e->getMessage() !== "Serialization of 'Closure' is not allowed") {
                throw $e;
            }

            $r = new ReflectionObject($criterion);

            return [
                'hash' => md5((string) $r),
                'properties' => $r->getProperties(),
            ];
        }
    }
protected function serializeCriterion($criterion)
    {
        try {
            serialize($criterion);

            return $criterion;
        } catch (Exception $e) {
            // We want to take care of the closure serialization errors,
            // other than that we will simply re-throw the exception.
            if ($e->getMessage() !== "Serialization of 'Closure' is not allowed") {
                throw $e;
            }

            $r = new ReflectionObject($criterion);

            return [
                'hash' => md5((string) $r),
                'properties' => $r->getProperties(),
            ];
        }
    }
protected function serializeCriterion ( $ criterion ) { try { serialize ( $ criterion ) ; return $ criterion ; } catch ( Exception $ e ) { // We want to take care of the closure serialization errors, // other than that we will simply re-throw the exception. if ( $ e -> getMessage ( ) !== "Serialization of 'Closure' is not allowed" ) { throw $ e ; } $ r = new ReflectionObject ( $ criterion ) ; return [ 'hash' => md5 ( ( string ) $ r ) , 'properties' => $ r -> getProperties ( ) , ] ; } }
Serialize single criterion with customized serialization of Closures.

@param  \Prettus\Repository\Contracts\CriteriaInterface $criterion
@return \Prettus\Repository\Contracts\CriteriaInterface|array

@throws \Exception
Serialize single criterion with customized serialization of Closures .