2013-10-18 4 views
6

Sto facendo symfony 2 tutorial - Doctrine e database.Symfony 2 - L'annotazione nella proprietà non esiste o non può essere caricata automaticamente.

ho creato il file pages.php in Entità/pages.php

<?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; 
} 

ora sto cercando di generare setter e getter per questa classe di usare questo comando.

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

Racconta:

[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. 

quello che sto facendo di sbagliato?

risposta

10

Cambia la tua $ ID con il seguente codice:

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

ha funzionato davvero. Ma nella mia tabella ci sono ID, non Id, perché dovrebbe mostrare errori? –

+1

Il nome della variabile è secondario, puoi inserire qualsiasi nome. Tuttavia, le annotazioni di Doctrine sono sensibili alle maiuscole e minuscole e riconosce l'identificatore come 'Id' –

+0

Ok, grazie per l'informazione! .. –

3

Credo che questo sia il caso sensibile, provate:

@ORM/Id