Я хотел бы включить связанные вопросы и группы вопросов в список IRI, когда я делаю запрос на получение формы.
У меня есть несколько объектов:
- Форма (поля: question_groups, вопросы)
- QuestionGroup (поля: форма, вопросы)
- Вопрос (поля: форма, группа вопросов)
Когда я делаю запрос на получение формы, онвозвращает:
- Форма
- вопросы ['/api/questions/1',...]
- questionGroups [{id: 1, name:' foo', questions: [' /api/questions/1',...]... отпуска ,...]
Как видите, Form.questionsэто список IRI, но Form.questionGroups это список объектов. Мне бы хотелось, чтобы они оба были в качестве IRI.
На изображении ниже под полем 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;
}