Doctrine\ODM\MongoDB\Mapping\Driver\XmlDriver::getPartialFilterExpression PHP Метод

getPartialFilterExpression() приватный Метод

private getPartialFilterExpression ( SimpleXMLElement $fields )
$fields SimpleXMLElement
    private function getPartialFilterExpression(\SimpleXMLElement $fields)
    {
        $partialFilterExpression = [];
        foreach ($fields as $field) {
            $operator = (string) $field['operator'] ?: null;
            if (!isset($field['value'])) {
                if (!isset($field->field)) {
                    continue;
                }
                $nestedExpression = $this->getPartialFilterExpression($field->field);
                if (!$nestedExpression) {
                    continue;
                }
                $value = $nestedExpression;
            } else {
                $value = trim((string) $field['value']);
            }
            if ($value === 'true') {
                $value = true;
            } elseif ($value === 'false') {
                $value = false;
            } elseif (is_numeric($value)) {
                $value = preg_match('/^[-]?\\d+$/', $value) ? (int) $value : (double) $value;
            }
            $partialFilterExpression[(string) $field['name']] = $operator ? ['$' . $operator => $value] : $value;
        }
        return $partialFilterExpression;
    }