當前位置: 首頁>>代碼示例>>PHP>>正文


PHP ClassMetadata::getFieldForColumn方法代碼示例

本文整理匯總了PHP中Doctrine\ORM\Mapping\ClassMetadata::getFieldForColumn方法的典型用法代碼示例。如果您正苦於以下問題:PHP ClassMetadata::getFieldForColumn方法的具體用法?PHP ClassMetadata::getFieldForColumn怎麽用?PHP ClassMetadata::getFieldForColumn使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Doctrine\ORM\Mapping\ClassMetadata的用法示例。


在下文中一共展示了ClassMetadata::getFieldForColumn方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: hydrate

 /**
  * @param object $entity
  * @param array $queryResult
  * @return object
  * @throws \Doctrine\DBAL\DBALException
  * @throws \Doctrine\ORM\Mapping\MappingException
  */
 public function hydrate($entity, $queryResult)
 {
     $platform = $this->em->getConnection()->getDatabasePlatform();
     foreach ($queryResult as $columnName => $value) {
         $fieldName = $this->metaData->getFieldForColumn($columnName);
         $typeForField = $this->metaData->getTypeOfField($fieldName);
         if ($typeForField) {
             $type = Type::getType($typeForField);
             $entity->{$fieldName} = $type->convertToPHPValue($value, $platform);
         } else {
             throw new RuntimeException('Unknown type for field ' . $fieldName);
         }
     }
     return $entity;
 }
開發者ID:lynx,項目名稱:lynx,代碼行數:22,代碼來源:Repository.php

示例2: update

 /**
  * @param object $entity
  * @return int
  * @throws \Doctrine\ORM\Mapping\MappingException
  */
 public function update($entity)
 {
     $identifiers = [];
     $types = ['id' => \PDO::PARAM_INT];
     foreach ($this->metaData->getIdentifierColumnNames() as $columnName) {
         $fieldName = $this->metaData->getFieldForColumn($columnName);
         $value = $this->metaData->getFieldValue($entity, $fieldName);
         $identifiers[$columnName] = $value;
     }
     $updateSet = [];
     foreach ($this->metaData->getColumnNames() as $columnName) {
         if (isset($identifiers[$columnName])) {
             continue;
         }
         $fieldName = $this->metaData->getFieldForColumn($columnName);
         $typeName = $this->metaData->getTypeOfColumn($fieldName);
         $type = \Doctrine\DBAL\Types\Type::getType($typeName);
         $value = $type->convertToDatabaseValue($entity->{$fieldName}, $this->em->getConnection()->getDatabasePlatform());
         $types[$columnName] = $type->getBindingType();
         $updateSet[$columnName] = $value;
     }
     return $this->em->getConnection()->update($this->metaData->getTableName(), $updateSet, $identifiers, $types);
 }
開發者ID:lynx,項目名稱:lynx,代碼行數:28,代碼來源:DBAL.php


注:本文中的Doctrine\ORM\Mapping\ClassMetadata::getFieldForColumn方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。