У меня есть простая таблица компании с отношениями:отношения в одной таблице
id name parentId
1 Company1 0
2 Company2 1
3 Company3 1
4 Company4 3
Как я могу писать Doctrine аннотацию, которые относятся записи в этой таблице?
У меня есть простая таблица компании с отношениями:отношения в одной таблице
id name parentId
1 Company1 0
2 Company2 1
3 Company3 1
4 Company4 3
Как я могу писать Doctrine аннотацию, которые относятся записи в этой таблице?
Кажется, что ваши сущности - это только Компания, каждая компания имеет имя и связана с другой компанией с отношением ManyToOne.
Ваше лицо компании должно выглядеть примерно так:
/**
* Company
*
* @ORM\Table()
* @ORM\Entity
*/
class Company {
/**
* @var integer
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
* @ORM\Column(name="name", type="string", length=100)
*/
protected $name;
/**
* @ORM\ManyToOne(targetEntity="Company")
* @ORM\JoinColumn(name="parentId", referencedColumnName="id")
*/
protected $parent;
}
Для базового класса, вам следует использовать php app/console doctrine:generate:entity
, который будет делать всю работу за вас. Вам просто нужно добавить родительское отношение вручную.
Вы должны взглянуть на книгу Симфония на эту тему: http://symfony.com/doc/current/book/doctrine.html.
отображение конфигурацияВсе ассоциация объяснить документы Доктрины в: http://docs.doctrine-project.org/en/2.0.x/reference/association-mapping.html
Спасибо, я написал то же самое, во время ожидания ответа. – Barif