gpt4 book ai didi

php - Doctrine ORM ManyToOne Inverse 不起作用

转载 作者:行者123 更新时间:2023-11-29 07:26:19 29 4
gpt4 key购买 nike

我有一个双向多对一一对多关系,它只在一个方向上工作,有人可以帮忙吗?为了清楚起见,我已尝试将示例精简到最少的代码。

Question 实体可以有很多 Answer 实体。

问题实体

class CwEmployeeQuestion
{
public function __construct()
{
$this->cw_employee_answers = new \Doctrine\Common\Collections\ArrayCollection();
}

/**
* @ORM\Column(type="guid")
* @ORM\Id
* @ORM\GeneratedValue(strategy="UUID")
*/
protected $id;

/**
* @ORM\OneToMany(targetEntity="Fitchek\Entity\Corporate\CwEmployeeAnswer", mappedBy="cw_employee_question")
*/
protected $cw_employee_answers;

/**
* Get CwEmployeeAnswer
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getCwEmployeeAnswer()
{
return $this->cw_employee_answers;
}
}

答案实体

class CwEmployeeAnswer
{
/**
* @ORM\Column(type="guid")
* @ORM\Id
* @ORM\GeneratedValue(strategy="UUID")
*/
protected $id;

/**
* Many CwEmployeeAnswer have One CwEmployeeQuestion.
*
* @var \Fitchek\Entity\Corporate\CwEmployeeQuestion $cw_employee_question
*
* @ORM\ManyToOne(targetEntity="Fitchek\Entity\Corporate\CwEmployeeQuestion", inversedBy="cw_employee_answer")
* @ORM\JoinColumn(name="cw_employee_question", referencedColumnName="id")
*/
protected $cw_employee_question;

/**
* Set $cw_employee_question
*
* @param \Fitchek\Entity\Corporate\CwEmployeeQuestion $cw_employee_question
* @return CwEmployeeAnswer
*/
public function setCwEmployeeQuestion(?\Fitchek\Entity\Corporate\CwEmployeeQuestion $cw_employee_question = null): self
{
$this->cw_employee_question = $cw_employee_question;

return $this;
}

/**
* Get $cw_employee_question
*
* @return \Fitchek\Entity\Corporate\CwEmployeeQuestion
*/
public function getCwEmployeeQuestion(): ?CwEmployeeQuestion
{
return $this->cw_employee_question;
}

/**
*
* {@inheritdoc}
*
* @param JSON $json, the request JSON to create a new CwEmployeeAnswer
* @return CwEmployeeAnswer the newly created CwEmployeeAnswer
*/
public function createFromData($json, $cw_employee_question = null)
{
$this->setCwEmployeeQuestion($cw_employee_question);

return $this;
}
}

当我尝试方向 answer->question 时,它工作正常并返回给我一个答案列表及其相关问题作为 JSON 的一部分。例如:

[
{ "id": 1
"name": "answer 1",
"question" : {
"name": "question 1"
}
}
...
]

但是,当查询另一个方向以获取所有问题及其答案作为返回 JSON 的一部分时,问题数组返回为 null。例如:

[
{ "id": 1
"name": "question 1",
"answers": null
}
...
]

当我想看到的是:

[
{ "id": 1
"name": "question 1",
"answers" : [
{
"name": "answer 1"
},
{
"name": "answer 2"
}
...
]
}
...
]

最佳答案

看起来还可以。可能只是一个错字。尝试使用 inversedBy="cw_employee_answers"(复数 $cw_employee_answers)而不是 inversedBy="cw_employee_answer"它应该有效。

关于php - Doctrine ORM ManyToOne Inverse 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53546073/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com