我在Symfony2中使用FOSUserBundle
+SonataUserBundle
。
我这样扩展了索纳塔的BaseUser
:
namespace ar1y4n'UserBundle'Entity;
use Sonata'UserBundle'Entity'BaseUser as BaseUser;
use Doctrine'ORM'Mapping as ORM;
use Doctrine'Common'Collections'ArrayCollection;
/**
* @ORM'Entity
* @ORM'Table(name="users")
*/
class User extends BaseUser{
[...]
我的config.yml
是:
fos_user:
db_driver: orm
firewall_name: main
user_class: ar1y4n'UserBundle'Entity'User
group:
group_class: ar1y4n'UserBundle'Entity'Group
sonata_user:
security_acl: true
class: # Entity Classes
user: ar1y4n'UserBundle'Entity'User
group: ar1y4n'UserBundle'Entity'Group
登录CCD_ 6表中的用户所在的CCD_;但当在admin中查看用户列表时,users
表中没有显示任何用户
当我在管理页面中使用Add User
创建新用户时,它会将用户添加到fos_user_user
表,而不是users
表
它还创建了CCD_ 11&fos_user_group
。
问题出在哪里
如何更改SonataUserBundle
的工作表?
感谢
发现问题:
当我扩展CCD_ 14&Sonata'UserBundle'Entity'BaseGroup
我不应该使用app/console sonata:easy-extends:generate SonataUserBundle --dest=src
在Application命名空间中生成userbundle,因此new Application'Sonata'UserBundle'ApplicationSonataUserBundle(),
不应该加载到AppKernel.php
中
相反,在parameters.yml
中,我应该添加以下内容:
sonata.user.admin.user.entity: ar1y4n'UserBundle'Entity'User
sonata.user.admin.group.entity: ar1y4n'UserBundle'Entity'Group
现在它与users
表一起工作,因为ar1y4n'UserBundle'Entity'User
实体使用它。