2016-02-08 3 views
1

Я пытаюсь сделать таблицы объединения от 2-х субъектов с manytomany отношений, как это:doctrine2 jointable ошибка аннотации

class Entity1 
{ 
    /** 
    * @ORM\ManyToMany(targetEntity="Orders") 
    * @JoinTable(name="users_orders", 
    * joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")}, 
    * inverseJoinColumns={@JoinColumn(name="order_id", referencedColumnName="id", unique=true) 
    */ 
    private $orders; 
} 

, но каждый раз, когда я пытаюсь генерировать методы получения и установки я имею ту же ошибку:

The annotation @JoinTable... was never imported. Did you forget to add a use statement for this annotation?

Как я могу добавить инструкцию использования? Спасибо за вашу помощь

ответ

3

Вам нужно поставить @ORM\ перед всеми своими Doctrine аннотаций:

/** 
* @ORM\ManyToMany(targetEntity="Orders") 
* @ORM\JoinTable(name="users_orders", 
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, 
* inverseJoinColumns={@ORM\JoinColumn(name="order_id", referencedColumnName="id", unique=true) 
*/ 
private $orders; 
+0

Я уже пробовал tha t, но я получаю ту же ошибку для того же свойства – Paul

+0

Извините за мой предыдущий комментарий, я ответил быстро. Я не видел «@ORM \ JoinColumn». Оно работает. Спасибо. – Paul

3

Добавить ORM перед JoinTable и JoinColumn

/** 
* @ORM\ManyToMany(targetEntity="Orders") 
* @ORM\JoinTable(name="users_orders", 
*  joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, 
*  inverseJoinColumns={@ORM\JoinColumn(name="order_id", referencedColumnName="id", unique=true) 
*/ 

И добавить «использование '-статье в верхней части вашего класса:

use Doctrine\ORM\Mapping as ORM; 
+0

Не работает, я уже пробовал, что – Paul

+0

Спасибо, что это работает. – Paul

+0

@Paul Отредактировал мой ответ! – Swag

Смежные вопросы