2012-12-26 9 views
6

Rozszerzyłem pakiet użytkownika z projektu Sonata pakietem Sonata EasyExtends. Jest on domyślnie umieszczony pod src/Application/Sonata/UserBundle.Adnotacje w rozszerzonej klasie użytkownika Sonata nie są odczytywane

Teraz chcę dostosować rozszerzoną klasę i dodać kilka pól. Zauważam jednak, że adnotacje nie są przetwarzane, muszę zdefiniować odwzorowania w src/Application/Sonata/UserBundle/Resources/config/doctrine/User.orm.xml

Czy istnieje sposób na wykorzystanie adnotacje zamiast pliku XML? myślę, że będzie rozwiązać wiele moich problemów ze przedstawieniu klasę użytkownika, jak teraz polecenia

php app/doktrynę konsoli: schema: update --force

robi wydaje się rozpoznać adnotacje ..

Odpowiedz

10

Delete Application/Sonata/UserBundle/Resources/config/doctrine na pierwszy

a później zmienić Entity/User.php i Entity/Group.php rodzaju adnotacji:

<?php 

namespace Application\Sonata\UserBundle\Entity; 
use Doctrine\ORM\Mapping as ORM; 
use Sonata\UserBundle\Entity\BaseUser as BaseUser; 

/** 
* User 
* 
* @ORM\Table(name="fos_user_user") 
* @ORM\Entity 
*/ 

class User extends BaseUser 
{ 

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

    /** 
    * @ORM\Column(type="string", length=127) 
    */ 
    protected $test; 
} 
<?php 

namespace Application\Sonata\UserBundle\Entity; 

use Sonata\UserBundle\Entity\BaseGroup as BaseGroup; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* Group 
* 
* @ORM\Table(name="fos_user_group") 
* @ORM\Entity 
*/ 
class Group extends BaseGroup 
{ 

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

} 

W końcu należy wpisać: php doktrynę app/console: schema: update --force i wszystko powinno działa całkiem.

+0

Rzeczywiście, wielkie dzięki! – user1926848

-1

W życiorysie, jeśli używasz XML, adnotacje nie rządzą.

Jeśli usuniesz folder config/doctrine, będzie szukać adnotacji, a tam możesz umieścić to, co chcesz.

Powiązane problemy