我正在和symfony 5合作一个项目。我需要使用具有现有表的现有数据库。创建多对多关系时遇到问题。例如:对于实体post和tag的ManyToMany关系,Doctrine创建一个名为post_tag的表。我需要将这个表重命名为link_post_tag。我可以在sql数据库中重命名它(很容易),但是我需要在symfony中修改什么才能使它工作。因为symfony还在寻找post_tag表。我已经看了条令和symfony的文件,但什么也没找到。谢谢
zf9nrax11#
使用@ORM\JoinTable。Doctrine文档在这里解释了它:https://doctrine-project.org/projects/doctrine-orm/en/2.14/reference/association-mapping.html#many-to-many-unidirectional
@ORM\JoinTable
/** * Many Users have Many Groups. * @var Collection<int, Group> */ #[JoinTable(name: 'users_groups')] #[JoinColumn(name: 'user_id', referencedColumnName: 'id')] #[InverseJoinColumn(name: 'group_id', referencedColumnName: 'id')] #[ManyToMany(targetEntity: Group::class)] private Collection $groups;
1条答案
按热度按时间zf9nrax11#
使用
@ORM\JoinTable
。Doctrine文档在这里解释了它:https://doctrine-project.org/projects/doctrine-orm/en/2.14/reference/association-mapping.html#many-to-many-unidirectional