@zzmaster

Как записать в Doctrine JoinTable аттрибутами?

Документация по этому аттрибуту крайне скупая, вопрос не гуглится.

Аннотациями это записывалось, например так

/**
     *
     * @ORM\ManyToMany(targetEntity="UserGroup", inversedBy="users")
     * @ORM\JoinTable(
     *  name="user_usergroup",
     *  joinColumns={
     *      @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     *  },
     *  inverseJoinColumns={
     *      @ORM\JoinColumn(name="usergroup_id", referencedColumnName="id")
     *  }
     * )
     */


У меня текущий вариант

#[ORM\ManyToMany(targetEntity: Tag::class)]
    #[ORM\JoinTable(    
        name: 'post_has_tag',    
        joinColumns: [#[ORM\JoinColumn(name: 'post_id', referencedColumnName: 'post_id')]],
        inverseJoinColumns: [#[ORM\JoinColumn(name: 'tag_id', referencedColumnName: 'tag_id')]]
    )]


сандобокс тут
https://onlinephp.io/c/2f82f

Выдает ошибку
syntax error, unexpected token "]", expecting "function" or "fn" or "static" or "#["
Пробовал заменить на фигурную скобку
joinColumns: {#[ORM\JoinColumn(name: 'post_id', referencedColumnName: 'post_id')]},

не помогает. Так же как и удаление внешних скобок.
joinColumns: #[ORM\JoinColumn(name: 'post_id', referencedColumnName: 'post_id')],

Что делать?
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
@zzmaster Автор вопроса
Оказалось, оно совсем по другому с атрибутами
#[JoinTable(name: 'post_has_tag')]
    #[JoinColumn(name: 'post_id', referencedColumnName: 'post_id')]
    #[InverseJoinColumn(name: 'tag_id', referencedColumnName: 'tag_id')]
    #[ManyToMany(targetEntity: Tag::class)]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Maksclub
@Maksclub
maksfedorov.ru
Примерно так (в плане синтаксиса)
https://www.doctrine-project.org/projects/doctrine...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы