private function setterPrimaryProxy($value, PropertyMetadata $metadata)
{
$keys = $this->metadata->getPrimaryKey();
if (!$metadata->isVirtual) {
return $value;
}
if (count($keys) !== count($value)) {
$class = get_class($this);
throw new InvalidStateException("Value for {$class}::\$id has insufficient number of parameters.");
}
$value = (array) $value;
foreach ($keys as $key) {
$this->setRawValue($key, array_shift($value));
}
return IEntity::SKIP_SET_VALUE;
}