Symfony sf2-如果用户加入此组,则包含信息的所有组的列表

Symfony sf2-如果用户加入此组,则包含信息的所有组的列表,symfony,orm,entity,entities,Symfony,Orm,Entity,Entities,我开始在symfony2中对数据库/实体进行建模。 我有两个实体。第一个是用户,第二个是组。 我想把两者都连接起来。我想我应该使用多对多关系 但我的主要问题是,如果用户加入了这个组,我如何才能获得包含信息的所有组的列表 集团实体: <?xml version="1.0" encoding="utf-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xml

我开始在symfony2中对数据库/实体进行建模。 我有两个实体。第一个是用户,第二个是组。 我想把两者都连接起来。我想我应该使用多对多关系

但我的主要问题是,如果用户加入了这个组,我如何才能获得包含信息的所有组的列表

集团实体:

<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
    <entity name="GroupBundle\Entity\Group">
        <id name="id" type="integer" column="id">
            <generator strategy="AUTO"/>
        </id>
        <field name="name" type="string" column="name" length="50"/>
        <field name="description" type="string" column="description"/>
        <many-to-many field="users" mapped-by="groups" target-entity="AccountBundle\Entity\User"/>
    </entity>
</doctrine-mapping>
和视图:

{% for group in groups %}
<div>
    {{ group.name }}
    {% if(group.getUserInGroup()) %}
      <a href="#">join</a>
    {% endif %}
</div>    
{% endfor %}

我试图找到最好和正确的方法来做到这一点。

与用户和组无关,您如何与用户一起加入组?哪个字段有此信息?你需要一个亲戚是的

集团实体:

<many-to-many field="users" target-entity="AccountBundle\Entity\User" mapped-by="groups" />
用户实体:

<many-to-many field="groups" target-entity="GroupBundle\Entity\Group" inversed-by="users"/>

是一组角色还是什么???你需要发布更多关于他们之间关系类型的信息,也许你应该发布一些用户和组实体的代码。我们很容易猜测,许多用户可以加入许多组,组可以有许多用户,但我们需要您的一些代码。伙计们,您有权利。我添加了一些代码。我知道我必须添加关系。我没有那样做,因为我不知道是哪一个。这是我写的。我根据你的建议编辑我的帖子并添加关系。但如果登录的用户在组中,仍然不知道如何获取包含信息的所有组的列表。如果登录用户尚未加入组,我需要列出所有组并添加按钮以加入。使用控制器操作更新您的问题。如果要获取组,您应该在中实现getter setter,然后您可以获取有关该用户组的信息,或在存储库中列出所有组,我会帮你做的,但需要先看看你的行动谢谢。我回家的时候会这么做。你确定我应该使用多对一/一对多关系而不是多对多关系吗?或者我应该使用中间实体liek用户组?如果我将使用一对多,是否不在数据库中复制我的组条目?这取决于您是否希望用户具有多个组?那么很多,不需要中间实体我有一个UserA,UserB和UserC。我有一个GROUPS:CatsFan、DogsFan和UnicornsFan-每个组都是一对所有用户。用户可以加入多个组。在这种情况下,我需要创建像UserGroup[UserId GroupId]这样的中间实体并使用多对多吗?
<many-to-many field="users" target-entity="AccountBundle\Entity\User" mapped-by="groups" />
<many-to-many field="groups" target-entity="GroupBundle\Entity\Group" inversed-by="users"/>