2013-12-01 7 views
0

У меня есть таблица, которая имеет два столбца, которые являются внешними ключами из двух других таблиц. Я хотел бы объединить их как составной первичный ключ, так и внешний ключ. Вот моя сущность из symfony;Первичный ключ составной части Doctrine, а также ключи foregin

/** 
* 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 я вижу первичные ключи, но отсутствуют внешние ключи. Как я могу сделать их иностранным ключом тоже? Спасибо за помощь.

ответ

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; 
Смежные вопросы