Symfony2プロジェクトにはFosUserBundleとSonataUserBundleを使用しています。
私は今混乱しています。エンティティUserのフィールドを追加したいのですが、機能していません。たとえば、スキーマの更新はありません。
これが私の設定です:
AppKernel:
...
new FOS\UserBundle\FOSUserBundle(),
new Sonata\UserBundle\SonataUserBundle(),
new Application\Sonata\UserBundle\ApplicationSonataUserBundle('FOSUserBundle')
config.yml:
...
# FOSUserBundle Configuration
fos_user:
db_driver: orm # BDD type
firewall_name: main # firewall name
user_class: Application\Sonata\UserBundle\Entity\User # entity class defined
そして、app / Application / Sonata / userBundle /Entity/にフィールドが追加されたUserエンティティ
namespace Application\Sonata\UserBundle\Entity;
use Sonata\UserBundle\Entity\BaseUser as BaseUser;
/**
* This file has been generated by the Sonata EasyExtends bundle ( http://sonata- project.org/easy-extends )
*
* References :
* working with object : http://www.doctrine-project.org/projects/orm/2.0 /docs/reference/working-with-objects/en
*
* @author <yourname> <youremail>
*/
class User extends BaseUser
{
/**
* @var integer $id
*/
protected $id;
/**
* @var string
*/
protected $institution;
/**
* @var string
*/
protected $department;
/**
* @var string
*/
protected $city;
/**
* @var string
*/
protected $country;
/**
* Get id
*
* @return integer $id
*/
public function getId()
{
return $this->id;
}
/**
* @return string
*/
public function getInstitution()
{
return $this->institution;
}
/**
* @return string
*/
public function getDepartment()
{
return $this->department;
}
/**
* @return string
*/
public function getCity()
{
return $this->city;
}
/**
* @return string
*/
public function getCountry()
{
return $this->country;
}
}
私のデータベースでは、テーブルfos_user_userはユーザーが保存したデータを含むテーブルのようです。
「phpapp/console doctrine:schema:update --force」を呼び出すと、追加されたフィールド(country、city ...)は作成されません。ユーザーエンティティにフィールドを追加するにはどうすればよいですか?私はfosuserbundleとsonatauserbundleで迷子になっています...