Php 使用多个字段扩展SonataAdmin用户
我目前正在尝试扩展SonataUserBundle的用户,以添加与现有实体的新多人关系 我根据这里找到的答案扩展了用户- User.phpPhp 使用多个字段扩展SonataAdmin用户,php,symfony,fosuserbundle,sonata-admin,sonata-user-bundle,Php,Symfony,Fosuserbundle,Sonata Admin,Sonata User Bundle,我目前正在尝试扩展SonataUserBundle的用户,以添加与现有实体的新多人关系 我根据这里找到的答案扩展了用户- User.php /** * @ORM\ManyToMany(targetEntity="Foo\BarBundle\Entity\Pledge", inversedBy="pledgedUsers") **/ private $pledgedOn; // (...) generated getters and setters here production.php
/**
* @ORM\ManyToMany(targetEntity="Foo\BarBundle\Entity\Pledge", inversedBy="pledgedUsers")
**/
private $pledgedOn;
// (...) generated getters and setters here
production.php
/**
* @ORM\ManyToMany(targetEntity="Foo\UserBundle\Entity\User", inversedBy="pledgedOn")
**/
private $pledgedUsers;
// (...) generated getters and setters here
当我同步模式时,我注意到的第一件事是它创建了两个数据透视表,而不是一个:assign\u user
和user\u-assign
。我尝试在中添加一个@ORM\JoinTable
,但这只是更改了一个的名称。当我将相同的@ORM\JoinTable
添加到两者时,会出现“表已存在”错误
当我试图访问admin中的用户列表时,我得到了一个很大的sql错误
An exception occurred while executing 'SELECT count(DISTINCT u0_.id) AS sclr0 FROM User u0_ LEFT JOIN fos_user_user_group f2_ ON u0_.id = f2_.user_id LEFT JOIN fos_user_group f1_ ON f1_.id = f2_.group_id':
SQLSTATE[42703]: Undefined column: 7 ERROR: column u0_.id does not exist
我相信这很简单,但我正在努力寻找问题的根源。我错过了什么
Full User.php:
Full-credition.php:我知道这是一个错误。我有
* @ORM\ManyToMany(targetEntity="Foo\UserBundle\Entity\User", inversedBy="pledgedOn")
及
其中一个必须是mappedBy
,而不是inversedBy
。将第二个更改为
* @ORM\ManyToMany(targetEntity="Foo\BarBundle\Entity\Pledge", mappedBy="pledgedUsers")
解决了这个问题
* @ORM\ManyToMany(targetEntity="Foo\BarBundle\Entity\Pledge", mappedBy="pledgedUsers")