本文整理汇总了PHP中Oro\Bundle\EntityBundle\ORM\DoctrineHelper::getEntityIdentifierFieldNames方法的典型用法代码示例。如果您正苦于以下问题:PHP DoctrineHelper::getEntityIdentifierFieldNames方法的具体用法?PHP DoctrineHelper::getEntityIdentifierFieldNames怎么用?PHP DoctrineHelper::getEntityIdentifierFieldNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Oro\Bundle\EntityBundle\ORM\DoctrineHelper
的用法示例。
在下文中一共展示了DoctrineHelper::getEntityIdentifierFieldNames方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getChoices
/**
* {@inheritdoc}
*/
protected function getChoices($entityName, $withRelations, $withVirtualFields)
{
$choiceFields = [];
$choiceRelations = [];
$idFieldNames = $this->doctrineHelper->getEntityIdentifierFieldNames($entityName);
foreach ($this->getEntityFields($entityName, $withRelations, $withVirtualFields) as $fieldName => $field) {
$formConfig = $this->formConfigProvider->getConfig($entityName, $fieldName);
if ($formConfig->is('is_enabled', false) || in_array($fieldName, $idFieldNames)) {
// field is not enabled for displaying in forms
// or field is entity identifier
continue;
}
if (!isset($field['relation_type'])) {
$choiceFields[$fieldName] = $field['label'];
} elseif (!in_array($field['relation_type'], RelationType::$toManyRelations)) {
// enable only mass update for *-to-one relations
$choiceRelations[$fieldName] = $field['label'];
}
}
if (empty($choiceRelations)) {
return $choiceFields;
}
$choices = [];
if (!empty($choiceFields)) {
$choices[$this->translator->trans('oro.entity.form.entity_fields')] = $choiceFields;
}
$choices[$this->translator->trans('oro.entity.form.entity_related')] = $choiceRelations;
return $choices;
}
示例2: testGetEntityIdentifierFieldNamesNotManageableEntity
public function testGetEntityIdentifierFieldNamesNotManageableEntity()
{
$entity = $this->getMock('FooEntity');
$this->setExpectedException('Oro\\Bundle\\EntityBundle\\Exception\\NotManageableEntityException', sprintf('Entity class "%s" is not manageable', get_class($entity)));
$this->registry->expects($this->once())->method('getManagerForClass')->with(get_class($entity))->will($this->returnValue(null));
$this->doctrineHelper->getEntityIdentifierFieldNames($entity);
}