Symfony 一对多选定项目
我有两个实体: 团队(id、姓名、简称…) 团队成员(id、团队id、球员id) 在admin中,我有multiselect字段,在提交时它发送ids数组。如何将其保存在相关表中 这是我在TeamsController中的一部分代码Symfony 一对多选定项目,symfony,sulu,Symfony,Sulu,我有两个实体: 团队(id、姓名、简称…) 团队成员(id、团队id、球员id) 在admin中,我有multiselect字段,在提交时它发送ids数组。如何将其保存在相关表中 这是我在TeamsController中的一部分代码 /** * @param array<string, mixed> $data */ protected function mapDataToEntity(array $data, Teams $entity): void { $image
/**
* @param array<string, mixed> $data
*/
protected function mapDataToEntity(array $data, Teams $entity): void
{
$image = null;
if ($imageId = ($data['logo']['id'] ?? null))
{
$image = $this->mediaRepository->findMediaById($imageId);
}
$entity->setLogo($image);
$entity->setName($data['name']);
$entity->setCountry($data['country']);
$entity->setGender($data['gender']);
$entity->setShortName($data['shortName']);
$entity->setPlayers($data['players']); // <-- how do I handle THIS?
}
/**
*@param数组$data
*/
受保护函数mapDataToEntity(数组$data,团队$entity):无效
{
$image=null;
如果($imageId=($data['logo']['id']??null))
{
$image=$this->mediaRepository->findMediaById($imageId);
}
$entity->setLogo($image);
$entity->setName($data['name']);
$entity->setCountry($data['country']);
$entity->setGender($data['gender']);
$entity->setShortName($data['shortName']);
$entity->setPlayers($data['players']);//您需要加载需要将其映射到实体的实体
在这里,您最多可以查看一下关于关联映射的条令/orm文档:您只需在加载图像时加载实体即可。
$entity->setPlayers($this->playerRepository->findById($data['players']);