public function Where( $Func )
	{

		if ( $Func != null ){

			$repo = array();

			$Func = new Expression( $Func );

			foreach ( $this->repository as $item )
				if ( $Func->execute( $item ) )
					$repo[] = $item;

		} else {

			$repo = $this->repository;

		}

		return $this->getClone()->setRepository( $repo );

	}
public function Where( $Func )
	{

		if ( $Func != null ){

			$repo = array();

			$Func = new Expression( $Func );

			foreach ( $this->repository as $item )
				if ( $Func->execute( $item ) )
					$repo[] = $item;

		} else {

			$repo = $this->repository;

		}

		return $this->getClone()->setRepository( $repo );

	}
public function Where ( $ Func ) { if ( $ Func != null ) { $ repo = array ( ) ; $ Func = new Expression ( $ Func ) ; foreach ( $ this -> repository as $ item ) if ( $ Func -> execute ( $ item ) ) $ repo [ ] = $ item ; } else { $ repo = $ this -> repository ; } return $ this -> getClone ( ) -> setRepository ( $ repo ) ; }
Filters a sequence of values based on a predicate.

@param string|Closure $Func
@return Queryable
Filters a sequence of values based on a predicate .