本文整理汇总了PHP中Nette\Forms\Controls\BaseControl::isOmitted方法的典型用法代码示例。如果您正苦于以下问题:PHP BaseControl::isOmitted方法的具体用法?PHP BaseControl::isOmitted怎么用?PHP BaseControl::isOmitted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nette\Forms\Controls\BaseControl
的用法示例。
在下文中一共展示了BaseControl::isOmitted方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: save
/**
* @param object $object
* @param string $fieldName
* @param BaseControl $control
* @param IClassMetadata $classMetadata
* @throws \NForms\Exceptions\UnexpectedTypeException
* @return bool
*/
public function save($object, $fieldName, BaseControl $control, IClassMetadata $classMetadata)
{
if ($control->isOmitted() || $control->isDisabled()) {
return TRUE;
}
$value = $control->getValue();
if ($classMetadata->hasAssociation($fieldName) && $value !== NULL) {
if ($classMetadata->isSingleValuedAssociation($fieldName)) {
$value = $this->objectManager->find($classMetadata->getAssociationTargetClass($fieldName), $value);
} else {
if (!is_array($value) && (!$value instanceof \ArrayAccess || !$value instanceof \Iterator)) {
throw new UnexpectedTypeException("In mapping association {$classMetadata->getClass()}::\${$fieldName} - expected array or ArrayAccess and Iterator instance, given " . get_class($value) . ".");
}
$collection = array();
foreach ($value as $id) {
$collection[] = $this->objectManager->find($classMetadata->getAssociationTargetClass($fieldName), $id);
}
$value = $collection;
}
}
if ($classMetadata->hasAssociation($fieldName)) {
$classMetadata->setAssociationValue($object, $fieldName, $value);
} else {
if ($control instanceof Nette\Forms\Controls\TextBase && $value === '') {
$value = NULL;
}
$classMetadata->setFieldValue($object, $fieldName, $value);
}
return TRUE;
}