Doctrine EM - 如何插入列中

时间:2014-01-05 21:54:52

标签: php symfony join doctrine-orm

我有学说2实体:俱乐部和用户。在用户权限中,我创建了一个多表:

 /**
 * @ORM\ManyToMany(targetEntity="Club", inversedBy="users")
 * @ORM\JoinTable(name="sms_followers")
 **/
 private $smsfollower;

现在我想把数据添加到表中。我用这个:

//Get the club (no error handling created
$getclub = $this->em->getRepository('Club')->findOneBy(array('id' => $clubid));

//Get the user by login ID
$getuser = $this->em->getRepository('User')->findOneBy(array('id' => '7'));

//Insert the userID and ClubID to the table sms_followers
$getuser = $getclub->addSmsfollower();

我无法完成这件事......任何可以帮助我的人都会这样做?

请保持英语尽可能简单,我来自荷兰

1 个答案:

答案 0 :(得分:0)

您最想要的是将SmsFollower添加到您已有的集合中。

// in your User enitity
public function addClub(Club $club)
{
    $this->clubs->add($club);
}

// in your Club entity
public function addSmsFollower(User $user)
{
    $this->sms_followers->add($user);
}

然后在您的实体管理器中,您可以保留对象,然后刷新以保存它们。

提示:我将字段命名为sms_followers和club(复数,meervoud),因为它是多对多的关系。