Доктрина 2 таблицы + дополнительные поля
У меня есть две таблицы и объединенная таблица: "персонал", "классификация" и "staff_classification". В таблице join у меня есть дополнительное логическое поле: "showclassification". Моя аннотация выглядит следующим образом:
/**
* @ManyToMany(targetEntity="Staff", inversedBy="classifications")
* @JoinTable(name="staff_classifications",
* joinColumns={@JoinColumn(name="staffid", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="classificationid", referencedColumnName="id", unique=true)});
*/
- Как добавить дополнительное поле "showclassifications"в таблицу join?
- Как я могу ссылаться на поле через DQL? Например, какой запрос позволит получить все классификации персонала, которые разрешено показывать?
- надо размещать выше аннотации в одном классе и @ManyToMany аннотации без @ joinTable в другом? Например, @ManyToMany (targetEntity= "классификация")?
1 ответ:
Требуется сущность, описывающая отношение (StaffClassifications), имеющее множество отношений как с персоналом, так и с классификациями.
ManyToMany не позволяет вам иметь какие-либо" дополнительные " свойства, потому что объединяемая таблица не является сущностью и, следовательно, не может иметь никаких свойств.