Я хотел бы включить связанные вопросы и группы вопросов в список IRI при получении запроса на форму.
У меня несколько сущностей:
- Форма (поля: группы вопросов, вопросы)
- QuestionGroup (поля: форма, вопросы)
- Вопрос (поля: форма, группа_вопросов)
Когда я делаю запрос на получение формы, он возвращает:
- Form
- questions ['/api/questions/1',...]
- questionGroups [{id: 1, name: 'foo', questions: ['/ api / questions / 1', ...] ...}, ...]
Как видите, Form.questions - это список IRI, а Form.questionGroups - это список объектов. Я бы хотел, чтобы они оба были МРИ.
На изображении ниже под полем questionGroups есть поле questionGroup, но нет поля вопроса под вопросами или ответа под ответами, ...
Для меня все это не имеет смысла, я попытался установить @MaxDepth, он ничего не изменил (кроме случаев, когда я использовал @MaxDepth (0), который выдал ошибку 500 без какого-либо сообщения об ошибке в ответ или в журнале php)
Может ли кто-нибудь объяснить, почему и что мне делать, чтобы загрузить и вопросы, и группы вопросов в виде списка IRI?
Спасибо
Вот соответствующие части упомянутых выше сущностей.
/**
* @ORM\Entity
* @ApiResource
* @ORM\HasLifecycleCallbacks
* @Gedmo\SoftDeleteable(fieldName="deleted_at", timeAware=false, hardDelete=true)
*/
class Form
{
/**
* @ORM\Column(type="text", length=200, nullable=false)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="QuestionGroup", mappedBy="form", cascade={"REMOVE"})
*/
private $question_groups;
/**
* @ORM\OneToMany(targetEntity="Question", mappedBy="form", cascade={"REMOVE"})
*/
private $questions;
}
/**
* @ORM\Entity
* @ApiResource
* @Gedmo\SoftDeleteable(fieldName="deleted_at", timeAware=false, hardDelete=true)
*/
class QuestionGroup
{
/**
* @ORM\Column(type="string", length=200, nullable=false)
*/
private $name;
/**
* @ORM\ManyToOne(targetEntity="Form",inversedBy="question_groups")
*/
private $form;
/**
* @ORM\OneToMany(targetEntity="Question", mappedBy="question_group", cascade={"REMOVE"})
*/
private $questions;
}
/**
* @ORM\Entity
* @ApiResource
* @Gedmo\SoftDeleteable(fieldName="deleted_at", timeAware=false, hardDelete=true)
*/
class Question
{
/**
* @ORM\Column(type="string", length=200, nullable=false)
*/
private $name;
/**
* @ORM\ManyToOne(targetEntity="Form",inversedBy="questions")
*/
private $form;
/**
* @ORM\ManyToOne(targetEntity="QuestionGroup", inversedBy="questions")
*/
private $question_group;
}