У меня есть сущность, подобная приведенной ниже:
<?php
/** @Entity */
class User
{
// ...
/**
* Many Users have Many Groups.
* @ManyToMany(targetEntity="Group", inversedBy="users")
* @JoinTable(name="users_groups")
*/
private $groups;
public function __construct() {
$this->groups = new \Doctrine\Common\Collections\ArrayCollection();
}
// ...
}
/** @Entity */
class Group
{
// ...
/**
* Many Groups have Many Users.
* @ManyToMany(targetEntity="User", mappedBy="groups")
*/
private $users;
public function __construct() {
$this->users = new \Doctrine\Common\Collections\ArrayCollection();
}
// ...
}
https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/association-mapping.html#many-to-many-двунаправленная
У меня есть связанные репозитории с этими сущностями. Когда существует отношение один ко многим, довольно легко получить связанный объект, потому что вы можете легко выполнить что-то вроде:
/** @var RelatedEntity $relatedEntity*/
$this->findBy('relatedObject'=>$relatedEntity);
Когда я пытаюсь выполнить его на объектах, показанных выше, вместо тщательного сбора объектов, скажем, user_group В таблице попробуйте найти столбец user_group внутри пользовательской таблицы. Он генерирует ошибку, например:
Исключительная ситуация при выполнении 'SELECT t0.id AS id_1, t0.created_at AS созданный_т_2, t0.updated_at AS обновленный_at_3, t0.title AS title_4, t0.text AS text_5 ОТ пользователя t0 ГДЕ user_group.group_id =? ' с параметрами ["8192ed63-5d07-4c99-8902-006a3aa986e7"]:
SQLSTATE [42P01]: неопределенная таблица: 7 ОШИБКА: отсутствует запись предложения FROM для таблицы "user_group"
Понятия не имею, как это сделать правильно. Что я пропустил?