2015-04-02 27 views
11

meta verileri okumak? Okuduğum doktrin meta verilerini kullanabiliyordum, ama nasıl kullanacağım ve bu verileri nasıl okuyacağım hakkında hiçbir şey bulamıyorum.aşağıdaki varlığa Ben bir Doktrin varlık özelliğinin

+0

Merhaba @VaN mayın ya da herhangi bir cevap Sorunuzun [Bunu kabullenmekle] düşünün lütfen çözmüş if (http://meta.stackexchange.com/q/5234/179419) onay işaretini tıklayarak. Bu, bir çözüm bulduğunuz ve hem yanıtlayıcıya hem de kendinize bir takım saygınlık kazandıran daha geniş bir topluluğa işaret eder. Bunu yapmak için bir zorunluluk yoktur. – Matteo

cevap

24

@wonde yanıtıyla uyumlu olarak, Doctrine meta veri bilgilerini kullanarak gereken bilgileri okuyabilirsiniz. f ollow:

$doctrine = $this->getContainer()->get("doctrine"); 
    $em = $doctrine->getManager(); 

    $className = "Evo\BackendBundle\Entity\ProductService"; 

    $metadata = $em->getClassMetadata($className); 

    $nameMetadata = $metadata->fieldMappings['name']; 

    echo $nameMetadata['type']; //print "string" 
    echo $nameMetadata['length']; // print "150" 

Umut bu yardım

6

getClassMetadata (mixed $ className) bir sınıf için ORM meta tanımlayıcısı döndürür

örn

$metadata = $entityManager->getClassMetadata($className); 

"olduğu gibi sınıf adı (lider ters eğik çizgi olmadan tam nitelikli sınıf adını olmalıdır get_class ($ obj) veya başka bir sınıf adıyla döndürüldü. Örnekler: MyProject \ Domain \ Kullanıcı satışları: PriceRequest "

+0

bu, varlık meta verilerini okuyacaktır, mülkün değil. – VaN

+0

, özellikleri almak için $ metadata-> fieldMappings ['name'] kullanın – wonde

İlgili konular