Задать вопрос
@uzh13

Как фильтровать объекты по связи ManyToMany в Doctrine?

Есть объект, у которого есть связь redactors, в которой определются пользователи, имеющие права редактировать этот объект.
Связь определяется стандартно:
// app/src/MyBundle/Entity/Object.php
/**
* @ORM\ManyToMany(targetEntity="User")
* @ORM\JoinTable(name="object_redactors)
*/
private $redactor


В контроллере надо найти все объекты, у которых в redactors указан определённый пользователь.
Как это сделать?
  • Вопрос задан
  • 200 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
GTRxShock
@GTRxShock
SA
Думаю суть ясна:

Object.php
/**
* @ORM\ManyToMany(targetEntity="User", inversedBy="objects")
* @ORM\JoinTable(name="objects_redactors")
*/
protected $redactors;


User.php
/**
* @ORM\ManyToMany(targetEntity="Object", mappedBy="redactors")
*/
protected $objects;


Далее вызываете getObjects() у того самого определенного пользователя
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@shagguboy
findByUser
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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