Tôi đang thực hiện chuyển đổi từ học thuyết 1.2 thành 2.x và đang chạy vào một vấn đề lạ.học thuyết 2 vẫn cố gắng để chèn các mục hiện có thay vì cập nhật chúng
Tôi có một thực thể CompositionRule có thuộc tính $ buildingBlock, trỏ đến một thực thể BuildingBlock.
Tôi đặt thuộc tính này, làm cho nó trỏ đến một BuildingBlock hiện có mà tôi tìm nạp từ cơ sở dữ liệu.
Khi tôi tiếp tục đối tượng chính (CompositionRule), thực thể cố gắng tạo mục BuildingBlock mới và chèn nó vào cơ sở dữ liệu thay vì chỉ chấp nhận rằng nó đã tồn tại và bỏ qua nó.
Tôi không thấy những gì tôi thiếu ở đây như trong học thuyết 1.2 khi bạn thực thi $ entity-> save(); tất cả các đối tượng cơ bản được xử lý một cách chính xác.
Dưới đây là một số bộ phận của ánh xạ của tôi/code:
CompositionRule:
<many-to-one field="buildingBlock" target-entity="BuildingBlock">
<cascade><cascade-all /></cascade>
</many-to-one>
..
public function setBuildingBlock($buildingBlock) {
$buildingBlock->addCompositionRule($this);
$this->buildingBlock = $buildingBlock;
}
BuildingBlock
<one-to-many field="compositionRules" target-entity="CompositionRule" mapped-by="buildingBlock">
<cascade>
<cascade-all />
</cascade>
</one-to-many>
public function addCompositionRule($rule) {
$this->compositionRules->add($rule);
}
Có cùng một vấn đề ở đây. Bạn có tìm ra giải pháp nào không? – Bono
Tương tự ở đây. +1. Cách giải quyết tạm thời của tôi là lặp $ em-> getUnitOfWork() -> getScheduledEntityInsertions() và loại bỏ các thực thể cụ thể ... – tiriana