Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用多个字段扩展SonataAdmin用户_Php_Symfony_Fosuserbundle_Sonata Admin_Sonata User Bundle - Fatal编程技术网

Php 使用多个字段扩展SonataAdmin用户

Php 使用多个字段扩展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

我目前正在尝试扩展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\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")