Symfony2原则-创建主宽度两个字段

Symfony2原则-创建主宽度两个字段,symfony,doctrine,composite-primary-key,Symfony,Doctrine,Composite Primary Key,我想在我的实体“Grupo”中设置一个主键,它必须由两个字段组成:“id_Grupo”和“id_estudiante”。我不知道怎么做。我需要帮助。谢谢 /** * @ORM\Entity() * @DoctrineAssert\UniqueEntity(fields = {"id_grupo", "id_estudiante", "nombre_grupo"}) * @DoctrineAssert\ */ class Grupo { /** * @ORM\Id

我想在我的实体“Grupo”中设置一个主键,它必须由两个字段组成:“id_Grupo”和“id_estudiante”。我不知道怎么做。我需要帮助。谢谢

/**
 * @ORM\Entity()
 * @DoctrineAssert\UniqueEntity(fields = {"id_grupo", "id_estudiante", "nombre_grupo"})
 * @DoctrineAssert\
*/
class Grupo
{
    /**
     *  @ORM\Id
     *  @ORM\Column(type="integer")
     *  @ORM\GeneratedValue
    */
    protected $id_grupo;

   /**
     * @ORM\ManyToOne(targetEntity="Estudiante", inversedBy="grupos")
     * @ORM\JoinColumn(name="estudiante_id", referencedColumnName="id")
     **/
    protected $id_estudiante;  // Estudiante propietario del grupo

    /** @ORM\Column(type="string", length=100) */
    protected $nombre_grupo;
}


}

基本上,您可以执行类似的操作(未选中,因此需要选中:):

当然,你需要阅读

/**
 * @ORM\Entity()
 * @DoctrineAssert\UniqueEntity(fields = {"id", "guid"})
*/
class Estudiante implements UserInterface
{
    /**
     *  @ORM\Id
     *  @ORM\Column(type="string",length=100)
     *  @Assert\NotBlank(message = "Por favor, indica tu email")
     *  @Assert\Email(message = "El email introducido no es válido",
     *                checkMX=true)
     *  @ORM\ManyToMany(targetEntity="Estudiante", mappedBy="mis_amigos")
    */
    protected $id_estudiante;

    (...)

    /**
     * @ORM\OneToMany(targetEntity="Grupo", mappedBy="id_estudiante")
     **/
    protected $grupos;
/**
 * @ORM\Entity()
 */
class Grupo
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="Estudiante")
     */
    private $estudiante;
}