本文整理汇总了PHP中Nette\Forms\Container::isOmitted方法的典型用法代码示例。如果您正苦于以下问题:PHP Container::isOmitted方法的具体用法?PHP Container::isOmitted怎么用?PHP Container::isOmitted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nette\Forms\Container
的用法示例。
在下文中一共展示了Container::isOmitted方法的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();
}