/** * @param ReflectionClass $reflClass * @param object $object * @param string $propertyName * @param Metadata $metadata * @param array $newData * @param MultiExec $transaction */ protected function handleSortedIndex(ReflectionClass $reflClass, $object, $propertyName, $keyName, Metadata $metadata, array $newData, $transaction) { $property = $reflClass->getProperty($propertyName); $property->setAccessible(true); $mapping = $metadata->getPropertyMapping($propertyName); if (!isset($newData[$mapping['name']]) || null === $newData[$mapping['name']]) { $transaction->zrem($this->keyNamingStrategy->getKeyName(array($keyName, $newData[$mapping['name']])), $this->getIdForClass($object, $metadata)); return; } $transaction->zadd($this->keyNamingStrategy->getKeyName(array($keyName)), $newData[$mapping['name']], $this->getIdForClass($object, $metadata)); }