Как предложил Крозин, этот вопрос является дубликатом:
В моем конкретном случае решение простое.Отношение «многие ко многим» необходимо строить вручную, а дополнительные поля необходимо добавлять вручную.Поэтому необходимо построить две взаимосвязи OneToMany.
Итак, вот мои 3 объекта и связанная мета-информация для каждого атрибута:
<?php
/**
* @Entity
* @Table(name="users")
*/
class User{
/**
* @Id
* @Column(type="integer", name="id")
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @OneToMany(targetEntity="UserStory", mappedBy="user")
*/
private $user_stories;
// ...
}
/**
* @Entity
* @Table(name="user_stories")
*/
class UserStory{
/**
* @Id
* @Column(type="integer", name="id")
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @ManyToOne(targetEntity="User", inversedBy="user_stories")
*/
private $user;
/**
* @ManyToOne(targetEntity="Story", inversedBy="user_stories")
*/
private $stories;
/**
* @Column(type="integer")
*/
private $priority;
/**
* @Column(type="integer")
*/
private $priority_tmp;
/**
* @Column(type="integer")
*/
private $main;
// ...
}
/**
* @Entity
* @Table(name="stories")
*/
class Story
{
/**
* @Id
* @Column(type="integer", name="id")
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @OneToMany(targetEntity="UserStory", mappedBy="stories")
*/
private $user_stories;
// ...
}
?>