Доктрина ограничения внешнего ключа - PullRequest
0 голосов
/ 08 мая 2019

У меня есть 2 две таблицы XXXX и YYYY.В первом у меня есть один внешний ключ ко второму.

create table XXXXXX
(
    id             int   not null,
    yyyyy_id       int   not null,
)

create table YYYYY
(
    id             int   not null,
)

Так что в моих доктринальных сущностях я хотел бы представить эту связь с аннотацией доктрины.Но для всех ассоциаций (OneToMany, ManyToOne, ...) требовался параметр targetEntity.

Возможно ли иметь настраиваемое поле, например $yyyyId, и выполнять сопоставление для него?

Может быть так:

    /**
     * @ORM\Column(name="yyyyy_id", type="integer")
     * @ORM\@JoinTable(
     *      name="YYYYY",
     *      joinColumns={@ORM\JoinColumn(name="yyyyy_id", referencedColumnName="id", fieldName="yyyyyId")}
     * )
     */
    private $yyyyyId;

И иметь эквивалент:

alter table XXXXX
    add constraint fk foreign key (yyyyy_id) references YYYYY (id) on delete cascade;

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

не могли бы вы попробовать это?

/**
* @ORM/ManyToOne(targetEntity="App\Entity\")
*/
private $yyyyyId;
0 голосов
/ 08 мая 2019

Вам необходимо создать Entity для этой таблицы, если вам нужно использовать Doctrine для повторного просмотра данных из объединенной таблицы. Документация . В противном случае вам нужно вручную добавить это отношение и использовать собственный SQL для запросов

...