Doctrine复合主键以及外键

时间:2013-12-01 17:49:58

标签: doctrine-orm composite-key

我有一个表有两列是另外两个表的外键。我想将它们组合在一起以及每个外键。 这是我的symfony实体;

/**
 * ilan_emlakOzellik
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class ilan_emlakOzellik
{

/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\ManyToOne(targetEntity="ilan")
 * @ORM\JoinColumn(name="ilanId")
 */
private $ilanId;

/**
 * @ORM\Id
 * @ORM\ManyToOne(targetEntity="emlakOzellik")
 * @ORM\JoinColumn(name="ozellikId")
 * @ORM\Column(type="integer")
 */
private $ozellikId;

将此架构写入db后,我看到主键但缺少外键。我怎么能把它们变成外键呢?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

验证您的架构 - 这些映射不正确。字段是列,或者是关联。不允许在同一个字段上使用两个映射:

/**
 * ilan_emlakOzellik
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class ilan_emlakOzellik
{

    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="ilan")
     * @ORM\JoinColumn(name="ilanId")
     */
    private $ilanId;

    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="emlakOzellik")
     * @ORM\JoinColumn(name="ozellikId")
     */
    private $ozellikId;