小编Ste*_*bre的帖子

在Symfony2中保存多对多关系到数据库

在我的Symfony2项目中,我有两个相关的实体:用户和收藏夹.他们有多对多的关系.

我的应用程序的工作原理如下:在我的Twig页面中,我有一些带有"添加到收藏夹"按钮的项目.当您单击按钮时,我的控制器将item_id保存在"收藏夹"列中.但后来我想保存将项目添加到他的收藏夹的用户,这里我的应用程序失败了.

用户和收藏夹存在但用户和收藏夹之间的连接列仍为空.我也没有收到任何错误.

这是我的代码:

实体用户

class Users implements AdvancedUserInterface
{
    /**
     * @var \Doctrine\Common\Collections\ArrayCollection
     *
     * @ORM\ManyToMany(targetEntity="Favorites", inversedBy="user", cascade={"persist"})
     * @ORM\JoinTable(name="user_has_favorite",
     *   joinColumns={
     *     @ORM\JoinColumn(name="user_id", referencedColumnName="user_id")
     *   },
     *   inverseJoinColumns={
     *     @ORM\JoinColumn(name="favorite_id", referencedColumnName="favorite_id")
     *   }
     * )
     */
    private $favorite;

    public function __construct()
    {
        $this->favorite = new \Doctrine\Common\Collections\ArrayCollection();
    }

    public function addFavorite(\Geo\CityTroopersBundle\Entity\Favorites $favorite)
    {
        $this->favorite[] = $favorite;

        return $this;
    }
...
Run Code Online (Sandbox Code Playgroud)

实体收藏夹

class Favorites
{

    /**
     * @var \Doctrine\Common\Collections\ArrayCollection
     *
     * @ORM\ManyToMany(targetEntity="Users", mappedBy="favorite", cascade={"persist"})
     */
    private $user;

    public function __construct() …
Run Code Online (Sandbox Code Playgroud)

database many-to-many save symfony

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

database ×1

many-to-many ×1

save ×1

symfony ×1