【问题标题】:Doctrine composite primary key as well as foregin keys教义复合主键和外键
【发布时间】:2013-12-01 17:49:58
【问题描述】:

我有一个表,其中有两列是来自另外两个表的外键。我想让它们组合主键以及每个外键。 这是我的 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;

将此模式写入数据库后,我看到主键但缺少外键。我怎样才能让它们也成为外键?感谢您的帮助。

【问题讨论】:

    标签: doctrine-orm composite-key


    【解决方案1】:

    验证您的架构 - 这些映射不正确。一个字段要么是一列,要么是一个关联。不允许将两个映射放在同一个字段上:

    /**
     * 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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多