2015-10-19 64 views
1

我想在两个表添加一个一对多的双向关联:课程认证学说更新不会做任何事情

已经有一个一对多的关系,但单向的。

所以我修改了两个实体,使其双向和增加对当然侧财产

这里有两个实体:

/** 
* Course 
* 
* @ORM\Table() 
* @ORM\Entity(repositoryClass="ME\ExamsBundle\Entity\CourseRepository") 
*/ 
class Course  
{ 
/** 
    * @ORM\OneToMany(targetEntity="ME\ExamsBundle\Entity\Certified", mappedBy="course") 
    * @ORM\JoinColumn(nullable=true) 
    */ 
private $certified; 

//getters and setters... 

} 

/** 
* Certified 
* 
* @ORM\Table() 
* @ORM\Entity(repositoryClass="ME\ExamsBundle\Entity\CertifiedRepository") 
*/ 
class Certified 
{ 
/** 
* @ORM\ManyToOne(targetEntity="ME\ExamsBundle\Entity\Course", inversedBy="certified") 
* @ORM\JoinColumn(nullable=false) 
*/ 
private $course; 

// getters and setters... 

} 

但是当我使用命令

doctrine:schema:update -- dump-sql 

它告诉我没有什么可更新的。

我试图

  • 明确的元数据CACH

  • 除去两侧可空

  • 删除数据库并重新创建它

但物业认证从未出现在数据库中的课程表中。

我有点卡在这里,所以任何帮助将不胜感激。

在此先感谢

汤姆

+0

尝试'学说:架构:更新--force' –

+0

它不工作,要么 –

回答

1

教义的双向关系是从SQL点的视图单方向一个没有什么不同:那是因为教义可以推断出反比关系逆转来自其他表的外键。将一个新的Colum添加到课程表中将是一种不规范化的形式,或者更糟糕的是它没有任何意义。

该教义的命令的反应是好的。

请多学习一些关于标准化形式的数据库:https://en.wikipedia.org/wiki/Database_normalization

+0

所以这是正常的,这种理论并不表添加任何东西,并且当我尝试访问经过认证的属性与吸气剂的过程中,学说将使用外键获得认证表中相应的所有认证对象。我对么 ? –

+0

是的,你是对的 – Jean