2015-04-07 96 views
0

我有一些教條映射的小錯誤。我從控制檯genarate實體和映射數據,當我試圖把它設置爲null列相關的數據,我不知道爲什麼Symfony2學說關係數據

的entites:

TasksCaregories:

/** 
    * @var \PhpTasksBundle\Entity\Tasks 
    * 
    * @ORM\OneToOne(targetEntity="PhpTasksBundle\Entity\Tasks") 
    * @ORM\JoinColumns({ 
    * @ORM\JoinColumn(name="id", referencedColumnName="category_id", unique=true) 
    * }) 
    */ 
    private $id; 

任務:

/** 
    * @var \PhpTasksBundle\Entity\TasksCategories 
    * 
    * @ORM\ManyToOne(targetEntity="PhpTasksBundle\Entity\TasksCategories") 
    * @ORM\JoinColumns({ 
    * @ORM\JoinColumn(name="category_id", referencedColumnName="id") 
    * }) 
    */ 
    private $category; 

控制器:

$tasks = $this->getDoctrine() 
      ->getRepository('PhpTasksBundle:Tasks') 
      ->findAll(); 

查看:

{{轉儲(任務)}}

,我也得到相關陣列空 「名稱」 一欄。

,但我需要從類別獲得不船體名稱:(請別人幫忙

+0

爲什麼任務與類別的OneToOne關係?從控制檯生成的 –

+0

。我不知道:(。必須是一對多 –

+0

您的實體之間的關係是[ManyToMany](http://doctrine-orm.readthedocs.org/en/latest/reference/association-mapping.html#many-如果它是單向的或雙向的,它取決於你。 – stevenll

回答

1

這是很好的TAKS之間的關係多對一 - > TasksCategories(這意味着一個categorie可能有許多型動物的任務(絕對邏輯):

/** 
* @var \PhpTasksBundle\Entity\TasksCategories 
* 
* @ORM\ManyToOne(targetEntity="PhpTasksBundle\Entity\TasksCategories") 
* @ORM\JoinColumns({ 
* @ORM\JoinColumn(name="category_id", referencedColumnName="id") 
* }) 
*/ 
private $category; 

那麼,反過來,關係TasksCategories - >任務可以是:根據您的需要或一對多多對多

例如:你想一個任務可以連接到許多類別(ManyTo。很多),如果沒有,一個任務 - >只是一個分類(OneToMany)。你很清楚嗎?