0
我有许多tomany关系的问题。我有两个实体,活动(这是拥有方)和用户(它扩展了FOSUserBundle)。显示manytomany关系
这是一个双向的ManyToMany关系,当我创建新的广告系列时,我将一个条目添加到名为users_campaigns的表中。
我的问题是,在用户的个人资料页面上,我想显示与他有关的所有活动。
我overrided与此FOSUB树枝模板:
{% trans_default_domain 'FOSUserBundle' %}
<div class="panel panel-default">
<div class="panel-heading">
{{ 'profile.show.username'|trans }}
</div>
<div class="panel-body">
{{ user.username }}
</div>
<div class="panel-heading">
{{ 'profile.show.email'|trans }}
</div>
<div class="panel-body">
{{ user.email }}
</div>
<div class="panel-heading">
{{ 'profile.show.lastlogin'|trans }}
</div>
<div class="panel-body">
{{ user.lastlogin|date('Y-m-d H:i:s') }}
</div>
<div class="panel-heading">
{{ 'profile.show.campaigns'|trans }}
</div>
<div class="panel-body">
{% if user.campaigns is defined %}
{% for campaign in user.campaigns %}
{{ campaign.name }}
{% endfor %}
{% endif %}
</div>
我也overrided的ProfileController可,并尝试一些事情,但我没能显示该活动。
有没有人有任何想法?
编辑:关系:
/**
* @ORM\ManyToMany(targetEntity="User", inversedBy="campaigns" , cascade={"all"})
* @ORM\JoinTable(name="users_campaigns")
*/
private $players;
和:
/**
* ORM\ManyToMany(targetEntity="Campaign", mappedBy="players", cascade={"all"})
*/
protected $campaigns;
编辑2: 下面是从用户类的构建体。
public function __construct()
{
parent::__construct();
$this->campaigns = new \Doctrine\Common\Collections\ArrayCollection();
}
这里是广告系列的吸气剂:
/**
* @return ArrayCollection
*/
public function getCampaigns()
{
return $this->campaigns;
}
告诉我们您创建的关系 – kamwoz
FOSUserBundle只是一个便利,您需要利用Doctrine Entities并为它们设置映射。 –
我编辑了帖子并添加了关系。正如你所看到的,我使用实体并在它们之间建立了关系。 –