我有一个symfony项目,其中我有一个实体,其中包含用户的信息,其中一个是 FavClubs ,用户在他最喜欢的列表中拥有的俱乐部。
添加部分addFavClub()
效果很好,但是当我尝试使用getFavClubs()
检索数据时,它只会返回添加的最后一个俱乐部,如果我添加了一个俱乐部,它会覆盖旧的俱乐部。
数据库部分运行良好,它保留所有条目。
我搜索并尝试了我找到的东西,但它没有用,有什么帮助吗?
谢谢!
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\TournamentClub")
*/
private $favClubs;
/**
* Constructor
*/
public function __construct()
{
$this->favClubs = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Add favClub
*
* @param \AppBundle\Entity\TournamentClub $favClub
*
* @return UserProfilePlayerprofile
*/
public function addFavClub(\AppBundle\Entity\TournamentClub $favClub)
{
$this->favClubs[] = $favClub;
return $this;
}
/**
* Remove favClub
*
* @param \AppBundle\Entity\TournamentClub $favClub
*/
public function removeFavClub(\AppBundle\Entity\TournamentClub $favClub)
{
$this->favClubs->removeElement($favClub);
}
/**
* Get favClubs
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getFavClubs()
{
return $this->favClubs;
}
- 编辑 - 如果我做一个getFavClubs
,那就是symfony转储UserController.php on line 180:
PersistentCollection {#1721 ▼
-snapshot: []
-owner: UserProfilePlayerprofile {#1579 ▶}
-association: array:20 [ …20]
-em: EntityManager {#1342 …11}
-backRefFieldName: null
-typeClass: ClassMetadata {#1591 …}
-isDirty: true
#collection: ArrayCollection {#1722 ▼
-elements: array:1 [▼
0 => TournamentClub {#1734 ▶}
]
}
#initialized: false
}
该系列里面应该有5个TournamentClub,里面的数据还可以。
答案 0 :(得分:1)
User Entity :
/**
*
* @ORM\ManyToMany(targetEntity="TournamentClub", inversedBy="user")
* @ORM\JoinTable(name="user_favclubs")
*/
protected $favClubs;
TournamentClub Entity :
/**
*
* @ORM\ManyToMany(targetEntity="User", mappedBy="favClubs")
*/
protected $user;