关系ManyToMany,忽略了额外的字段

时间:2016-06-13 21:27:33

标签: php symfony doctrine

我有一个非常愚蠢的问题。

我有3个实体:activity,category和categorieActivite,其中包含以下代码:

/**
 * Class Activite
 * @ORM\Entity
 * @ORM\Table(name="activite")
 */
 class Activite{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;
/**
* @ORM\Column(type="string",length=255)
*/
protected $nom;

/**
 * @ORM\OneToMany(targetEntity="CategorieActivite",mappedBy="activite")
 */
protected $categorieList;

 }


 class Categorie{
/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;
/**
 * @ORM\Column(type="string",length=255)
 */
protected $nom;

/**
 * @ORM\OneToMany(targetEntity="CategorieActivite",mappedBy="categorie")
 */
protected $activiteList;
}


class CategorieActivite{


/**
 * @ORM\Id
 * @ORM\ManyToOne(targetEntity="Categorie",inversedBy="activiteList")
 * @ORM\JoinColumn(name="categorie_id", referencedColumnName="id", nullable=false)
 */
protected $categorie;

/**
 * @ORM\Id
 * @ORM\ManyToOne(targetEntity="Activite",inversedBy="categorieList")
 * @ORM\JoinColumn(name="activite_id", referencedColumnName="id", nullable=false)
*/
protected $activite;

/**
 * ORM\Column(type="string",length=50)
 * @Assert\Choice(choices = {"Intense", "Douce", "Moyenne"}, message = "Veuillez choisir une valeur")
 * @Assert\NotNull()
 */
protected $intensite;

}

到目前为止一切正常。但问题是,CategorieActivite实体的强度没有出现在数据库中,只有外键出现。你对这个问题有所了解吗?

提前感谢您的帮助。

巴尔。

1 个答案:

答案 0 :(得分:2)

关于你的$ intensite属性

* ORM\Column(type="string",length=50)

应该是:

* @ORM\Column(type="string",length=50)

非常肯定会为你解决这个问题。一旦修复了注释,就需要运行一个学说:migrations:diff。