final public function where(string $memberExpression, string $operator, $value)
    {
        $this->append(new MemberCondition(
            $this->memberExpressionParser->parse($this->class, $memberExpression),
            $operator,
            $value
        ));

        return $this;
    }
final public function where(string $memberExpression, string $operator, $value)
    {
        $this->append(new MemberCondition(
            $this->memberExpressionParser->parse($this->class, $memberExpression),
            $operator,
            $value
        ));

        return $this;
    }
final public function where ( string $ memberExpression , string $ operator , $ value ) { $ this -> append ( new MemberCondition ( $ this -> memberExpressionParser -> parse ( $ this -> class , $ memberExpression ) , $ operator , $ value ) ) ; return $ this ; }
Defines a where condition on the criteria.

Examples:
<code>
->where('some.nested.property', '=', 100)
//
->where('some.collection.count()', '>', 5)
//
->where('some.friends.average(income)', '<=', 50000)
//
->where('load(relatedId).name', '=', 'Joe')
//
->where('this', '=', $someObject)
</code>

@param string $memberExpression
@param string $operator
@param mixed  $value

@return static
@throws InvalidArgumentException
@throws InvalidMemberExpressionException
Defines a where condition on the criteria .