attributeMetadataDataProvider = $attributeMetadataDataProvider; } /** * Get attribute model by attribute data object * * @param string $entityType * @param AttributeMetadataInterface $attribute * @return Attribute * @throws NoSuchEntityException */ public function getModelByAttribute($entityType, AttributeMetadataInterface $attribute) { /** @var Attribute $model */ $model = $this->attributeMetadataDataProvider->getAttribute( $entityType, $attribute->getAttributeCode() ); if ($model) { return $model; } else { throw new NoSuchEntityException( __( 'No such entity with %fieldName = %fieldValue, %field2Name = %field2Value', [ 'fieldName' => 'entityType', 'fieldValue' => $entityType, 'field2Name' => 'attributeCode', 'field2Value' => $attribute->getAttributeCode() ] ) ); } } }