cuốn sách gpt4 ai đã làm

Symfony2: Doctrine không tải các thực thể liên quan trong mối quan hệ nhiều-nhiều

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 12:51:22 26 4
mua khóa gpt4 Nike

Tôi có mối quan hệ nhiều-nhiều và khi tôi tải một thực thể ở một phía của mối quan hệ này, tôi muốn xem một ArrayCollection gồm các thực thể liên quan ở phía bên kia làm thuộc tính của nó. Tuy nhiên, điều này không xảy ra - không có phần tử nào trong ArrayCollection được tải, trong khi đó trong cơ sở dữ liệu tôi có thể thấy các mục nhập có liên quan. Lý do có thể là gì?

Đây là mã của tôi:
Một mặt của mối quan hệ, lớp ConsolidatedReport:

/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="P24\Response", inversedBy="consolidatedReports")
* @ORM\JoinTable(name="con_rprt_responses")
*/
phản hồi $ riêng tư;

Mặt khác của mối quan hệ, lớp phản hồi:

/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="P24\ConsolidatedReport\ConsolidatedReport", mappedBy="responses")
*/
$báo cáo hợp nhất riêng tư;

Đây là hàm tôi chạy để lấy phiên bản ConsolidatedReport. Hàm này nằm trong một dịch vụ được gọi từ vùng chứa:

/**
* Chọn báo cáo tổng hợp với id đã cho.
*
* @param chuỗi $id
*
* @return Báo cáo hợp nhất
*
* @ném NonExistentConsolidatedReportException nếu khảo sát không tồn tại
*/
chọn chức năng công cộng($id)
{
$report = $this->repository->findOneBy(array('id' => $id));

nếu (!$báo cáo) {
ném NonExistentConsolidatedReportException mới ($ id);
}

trả lại báo cáo $;
}'

Trong cơ sở dữ liệu, có một bảng "con_rprt_responses" với hai cột "consolidated_reports_id" và "response_id". Tuy nhiên, trong trình lược tả, tôi không thấy bất kỳ truy vấn nào đối với bảng này.

Đ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, nó hiệu quả với tôi.

câu trả lời hay nhất

Tôi sẽ tìm nạp="HẤP DẪN" Đã thêm vào thuộc tính $responses của lớp ConsolidatedReport và nó đã hoạt động.

Mã bây giờ trông như thế này:

/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="P24\Response", inversedBy="consolidatedReports", tìm nạp="EAGER")
* @ORM\JoinTable(name="con_rprt_responses")
*/
phản hồi $ riêng tư;

Thêm thông tin ở đây: http://doctrine-orm.readthedocs.org/en/latest/reference/working-with-objects.html#by-eager-loading

Nếu bất kỳ ai biết lý do tại sao bộ sưu tập các thực thể liên quan không được tải mà không chỉ định rõ ràng việc trích xuất EAGER - vui lòng chia sẻ kiến ​​thức của bạn, điều đó sẽ được đánh giá rất cao!

Về php - Symfony2 : Doctrine không tải các thực thể liên quan trong mối quan hệ nhiều-nhiều, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/32236128/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress