У меня есть следующая структура Entities в моем проекте.Неопределенный индекс: joinColumns doctrine + symfony2
class MyEntity
{
[... some more fields...]
/**
* @Type("array<string, string>")
* @ORM\ManyToMany(targetEntity="Me\MyBundle\Entity\Example")
* @ORM\JoinTable(name="example_myentity",
* joinColumns={@ORM\JoinColumn(name="plan_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="example", referencedColumnName="label")}
*)
*/
private $example;
}
class Example
{
/**
* @ORM\Id
* @ORM\Column(name="label", type="string", length=50, unique=true, nullable=false)
*/
private $label;
}
Когда я попытался получить "$ пример" с помощью функции findby() из Доктрины я получил следующее уведомление:
Неопределенные индекс: joinColumns
Я пытался отладки это, и проблема, кажется, находится в файле доктрины BasicEntityPersister.php в функции
_getSelectEntitiesSQL($criteria, $assoc = null, $lockMode = 0, $limit = null, $offset = null, array $orderBy = null),
Я заметил в трассировке стека, что второй параметр «$ assoc» всегда равен нулю, и я думаю, поэтому Doctrine не делает инструкцию JOIN.
Любая идея?
Благодаря
Вы обновили базу данных? – rpg600
Да, это все актуально. Обновление базы данных, очистка кэша ... – user2528085
Если это много для многих, то не должно быть MyEntity. $ Example be $ examples? Вы инициализируете его как массив доктрин в конструкторе? http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html – Cerad