本文整理匯總了PHP中Nette\Forms\Container::getValue方法的典型用法代碼示例。如果您正苦於以下問題:PHP Container::getValue方法的具體用法?PHP Container::getValue怎麽用?PHP Container::getValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Nette\Forms\Container
的用法示例。
在下文中一共展示了Container::getValue方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: process
public function process()
{
if ($this->component instanceof IControl && $this->component->isOmitted()) {
return;
}
$data = $this->component instanceof MultiChoiceControl ? $this->component->getValue() : $this->component->getValues(TRUE);
$associationMapping = $this->wrappedEntity->getMetadata()->getAssociationMapping($this->component->name);
$this->type = $associationMapping['type'];
$targetEntityMetadata = $this->entityManager->getClassMetadata($associationMapping['targetEntity']);
$this->processIdentifier($targetEntityMetadata);
$this->prepareCollection();
$targetEntityRepository = $this->entityManager->getRepository($associationMapping['targetEntity']);
foreach ($data as $rowKey => $row) {
$newEntity = NULL;
if (is_array($row)) {
$values = $this->getIdentifierValues($row);
if ($values && !($newEntity = $this->popByIdentifier($values)) && $this->type == ClassMetadata::MANY_TO_MANY) {
$newEntity = $targetEntityRepository->findOneBy($values);
}
if (!$newEntity) {
$newEntity = $targetEntityMetadata->newInstance();
}
$this->mapper->saveValues($this->component[$rowKey], $newEntity);
} elseif ($row) {
$currentValue = $this->component instanceof MultiChoiceControl ? $row : $rowKey;
if (!$this->popByIdentifier([$currentValue])) {
$newEntity = $targetEntityRepository->find($currentValue);
}
}
if ($newEntity) {
$this->addEntity($newEntity);
}
}
foreach ($this->forRemoval as $entityForRemove) {
$this->collection->removeElement($entityForRemove);
}
$this->mapper->execute(function () {
$this->updateCollection();
});
$this->validate();
}