protected function parseWhere()
    {
        $conditions = decode_where($this->parameters['where']);
        $unresolved = [];

        foreach ($conditions as $field => $valueExpression) {
            $valueExpression = new ValueExpression($valueExpression);

            if ($this->modelInformation->isDate($field)) {
                $this->parseDate($field, $valueExpression);
            } else {
                if ($this->modelInformation->isRelation($field)) {
                    $this->parseRelation($field, $valueExpression);
                } else {
                    $unresolved[$field] = $valueExpression;
                }
            }
        }

        if (count($unresolved) > 0) {
            $this->unresolved = $this->unresolved->merge($unresolved);
        }
    }