2012-06-26 144 views
0

我有5個有關係的tabels。Symfony2,Doctrine數據持久性

表用戶和文章有關係:

用戶:

/** 
* @ORM\OneToMany(targetEntity="Article", mappedBy="author") 
*  
* @var ArrayCollection $articles 
*/ 
protected $articles; 

在文章:

/** 
* @ORM\ManyToOne(targetEntity="User", inversedBy="articles") 
* 
*/ 
protected $author; 

我創造新的文章:

$article = new Article(); 
$article->setTitle("title"); 
$article->setText("Text test"); 
$article->setType("image"); 
$em->persist($article); 
$em->flush(); 

我添加第t條o用戶:

$user->addarticle($article); 
$em->persist($user); 
$em->flush(); 

文章保存在數據庫中,但它沒有任何字段的數據:author_id

當我向用戶添加一篇文章到automaticaly保存在表文章中時,如何建立關係爲author_id

回答

0

試試這個模式。 用戶:

/** 
* @ORM\OneToMany(targetEntity="Article", mappedBy="author") 
*/ 
protected $articles; 

在文章:

/** 
* @ORM\ManyToOne(targetEntity="User", inversedBy="articles") 
* @ORM\JoinColumn(name="author_id", referencedColumnName="id") 
*/ 
protected $author; 

Genereate實體,以及更新的架構。

$article = new Article(); 
$article->setTitle("title"); 
$article->setText("Text test"); 
$article->setType("image"); 
$article->setAuthor($user); 
$em->persist($article); 
$em->flush();