是否有可能从实体中读取所有可用的值?
E.G。
class Properties
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="UserID", type="string", length=255)
*/
private $userID;
/**
* @var string
*
* @ORM\Column(name="Sport", type="string", length=1)
*/
private $sport;
.
.
.
这样我就会得到Value的名称:Id,UserID,Sport?
答案 0 :(得分:4)
您可以通过以下方式阅读Doctrine元数据信息所需的信息:
$doctrine = $this->getContainer()->get("doctrine");
$em = $doctrine->getManager();
$className = "Acme\DemoBundle\Entity\Properties";
$metadata = $em->getClassMetadata($className);
$nameMetadata = $metadata->fieldMappings['sport'];
echo $nameMetadata['type']; //print "string"
echo $nameMetadata['length']; // print "1"
// OR query for all fields
// Returns an array with all the identifier column names.
$metadata->getIdentifierColumnNames();
有关API DOC
的更多信息希望这个帮助
答案 1 :(得分:1)
您可以使用ReflectionClass::getProperties()
遍历所有属性。