Tôi có mối quan hệ nhiều-nhiều, và khi tôi tải một thực thể ở một bên mối quan hệ này, tôi mong đợi xem thuộc tính của nó ArrayCollection của các thực thể liên quan ở phía bên kia. Tuy nhiên, điều này không xảy ra - ArrayCollection được tải không có phần tử nào trong đó, trong khi trong cơ sở dữ liệu tôi có thể thấy các mục liên quan. Điều gì có thể là lý do?Symfony2: Doctrine không tải các thực thể liên quan trong quan hệ nhiều-nhiều
Đây là mã của tôi:
Một bên của mối quan hệ, ConsolidatedReport lớp:
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="P24\Response", inversedBy="consolidatedReports")
* @ORM\JoinTable(name="con_rprt_responses")
*/
private $responses;
Một bên của mối quan hệ, đáp ứng lớp:
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="P24\ConsolidatedReport\ConsolidatedReport", mappedBy="responses")
*/
private $consolidatedReports;
Dưới đây là chức năng tôi chạy đến có được một thể hiện của ConsolidatedReport. Chức năng này nằm bên trong một dịch vụ đang được gọi là từ container:
/**
* Picks the consolidated report with given id.
*
* @param string $id
*
* @return ConsolidatedReport
*
* @throws NonExistentConsolidatedReportException if the survey doesn't exist
*/
public function pick($id)
{
$report = $this->repository->findOneBy(array('id' => $id));
if (!$report) {
throw new NonExistentConsolidatedReportException($id);
}
return $report;
}'
Trong cơ sở dữ liệu, có "con_rprt_responses" bảng với hai cột "consolidated_reports_id" và "RESPONSE_ID". Tuy nhiên, trong profiler tôi không thấy bất kỳ truy vấn nào cho bảng đó.
Điều gì có thể xảy ra ở đây?
CẬP NHẬT: Vui lòng xem câu trả lời của tôi cho câu hỏi này bên dưới, có hiệu quả đối với tôi.
Trong hồ sơ, tôi không thấy bất kỳ truy vấn nào được thực hiện cho bảng "con_rpt_responses". – Vasily802