'Symfony2 doctrine relation data
i have some little error with doctrine mapping . I have genarate entities and mapping data from console , and when i trying to get related column data it sets to null and i did not know why
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;
Tasks :
/**
* @var \PhpTasksBundle\Entity\TasksCategories
*
* @ORM\ManyToOne(targetEntity="PhpTasksBundle\Entity\TasksCategories")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
* })
*/
private $category;
Controller :
$tasks = $this->getDoctrine()
->getRepository('PhpTasksBundle:Tasks')
->findAll();
View:
{{ dump(tasks) }}
and i get empty "name" column in related array .
But i need to get not hull name from category :( Please somebody help
Solution 1:[1]
It's good for the relation ManyToOne between Taks -> TasksCategories (it means that one categorie may have many differents tasks (absolutely logic):
/**
* @var \PhpTasksBundle\Entity\TasksCategories
*
* @ORM\ManyToOne(targetEntity="PhpTasksBundle\Entity\TasksCategories")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
* })
*/
private $category;
So, conversely, the relation TasksCategories -> Tasks could be : OneToMany or ManyToMany according to your need.
For example : you want that one Task could be attached to many Categories (ManyToMany), if not, one Task -> just one Categorie (OneToMany). I hope clear for you.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
