2012-03-07 4 views
5

Sto sviluppando un'applicazione che utilizza Symfony2. Il problema arriva quando si cerca di generare getter un setter per BalidatzeTaldea.php entità utilizzando sudo php app/console doctrine:generate:entities Anotatzailea/AnotatzaileaBundle Il codice per l'entità è la seguente:Symfony2 genera getter/setter

<?php 

namespace Anotatzailea\AnotatzaileaBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 
use Doctrine\Common\Collections\ArrayCollection; 

/** 
* 
*@ORM\Table(name="BalidatzeTaldea") 
*@ORM\Entity 
*/ 
class BalidatzeTaldea 
{ 
    /** 
    * @var integer $BalTalId 
    * 
    * @ORM\Column(name="BalTalId", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $BalTalId; 

    /** 
    * @ORM\OneToMany(targetEntity="Erabiltzailea", mappedBy="BalidatzeTaldea") 
    */ 
    protected $Erabiltzaileak; 

    /** 
    * @var integer $ErabGaitasuna 
    * 
    * @ORM\Column(name="ErabGaitasuna", type="integer") 
    */ 
    private $ErabGaitasuna; 

    public function __construct() 
    { 
     $this->Erabiltzaileak = new ArrayCollection(); 
    } 

} 

Getters/setter per altre entità presenti nella cartella Entità vengono generati in modo corretto. Cosa posso fare? Grazie.

+3

Non dovresti davvero usare sudo per questo. Pensa che i permessi della tua directory siano probabilmente incasinati. Elimina la directory della cache e riprova come utente normale. Se tutto il resto fallisce, aggiungi i getter/setter da solo. – Cerad

+0

Ho appena provato e non funziona. Grazie. Qualche altra idea? Penso che l'errore debba essere nelle annotazioni da qualche parte ma non posso davvero determinare dove. – Haritz

+0

Prova a eseguire 'php app/console doctrine: mapping: info' per vedere se ci sono errori nelle tue annotazioni. –

risposta

4

Eliminare la directory della cache -> "app/cache" e riprovare

+0

Pulizia cache con sudo -u www-data php app/console cache: clear può risolvere molti problemi in symfony. –

10

So che questo è vecchio, ma ho appena incontrato questo problema me stesso ...

ho avuto

/* 
* @ORM\Id 
* @ORM\Column(type="integer") 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
protected $id; 

E la generazione del setter/getter non ha funzionato. Modificato in

/** 
* @ORM\Id 
* @ORM\Column(type="integer") 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
protected $id; 

E ha funzionato! Il * in più nella prima riga del commento sembra cambiare qualcosa. Ho anche notato che ha cambiato la mia evidenziazione della sintassi IDE.

Dal tuo codice, sembra che tu abbia avuto i due * nella prima riga di commento, ma se qualcun altro inciampa su questo, spero che aiuti.

+0

Questo mi ha lasciato diverse volte ... anche se "lo so". –

+0

Beh, questo è stato inaspettato. Grazie mille! –