2013-10-18 20 views
6

Symfony 2 eğitim yapıyorum - Doktrin ve veritabanları. Symfony 2 - Özellik ek açıklama mevcut değil veya otomatik olarak yüklenemedi.

Ben
<?php 
namespace Dproc\MainBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* @IgnoreAnnotation("fn") 
* 
*/ 
/** 
* @ORM\Entity 
* @ORM\Table(name="pages") 
*/ 
class Pages 
{ 
    /** 
    * @ORM\ID 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $ID; 

    /** 
    * @ORM\Column(type="text") 
    */ 
    protected $page_title; 

    /** 
    * @ORM\Column(type="text") 
    */ 
    protected $page_content; 

    /** 
    * @ORM\Column(type="text") 
    */ 
    protected $page_category; 
} 

Şimdi ben bu komutu kullanarak bu sınıf için ayarlayıcılar ve alıcılar üretmek çalışıyorum Varlık/pages.PHP dosyayı pages.PHP yarattı.

php app/console doctrine:generate:entities Dproc/MainBundle/Entity/Pages 

O anlatıyor: ben yanlış yapıyorum

[Doctrine\Common\Annotations\AnnotationException]        
    [Semantical Error] The annotation "@Doctrine\ORM\Mapping\ID" in property Dp 
    roc\MainBundle\Entity\Pages::$ID does not exist, or could not be auto-loade 
    d. 

?

cevap

10
aşağıdaki kodla $ kimliğini değiştirme

:

/** 
* @var integer 
* 
* @ORM\Column(type="integer", nullable=false) 
* @ORM\Id 
* @ORM\GeneratedValue(strategy="IDENTITY") 
*/ 
private $id; 
+0

Gerçekten de çalıştı. Ama benim masamda ID var, kimlik yok, neden hataları göstermeli? –

+1

Değişken adı ikincil, herhangi bir ad koyabilirsiniz. Ancak, Doktrinin ek açıklamaları, büyük/küçük harfe duyarlıdır ve tanımlayıcıyı 'Id' –

+0

olarak tanır. Bilgi için teşekkürler! .. –

3

bu harfe duyarlı olduğunu düşünüyorum, denemek:

@ORM/Id 
İlgili konular