설정 엔티티와 관련된 제품 엔티티와 일대일 관계가 있습니다. 모든 제품을 가져오고 제품 시작시 설정 테이블에 관련 행이 없습니다.Symfony2 OneToOne 주석 삽입/업데이트 관련 엔티티
Symfony를 사용하여 제품을 업데이트 할 때 적절한 관계가 만들어 지므로 제품과 설정간에 OneToOne이 생깁니다. 내가 설정 테이블에 대한 또 다른 삽입이 제품을 다음 번에 업데이트하려고하면 불행하게도
$em->merge($product);
$em->flush();
이 삽입 주석 및 방법에 관한 심포니 입어보기 자동 만들어
INSERT INTO settings (id_product, setting_1, setting_3, setting_3) VALUES (11153, '0', '1', '1');
이 간단한 INSERT 문을 사용하여 수행됩니다 id_product가 PK이고 고유해야하기 때문에 분명하고 오류가 있습니다. Product와 Setting 사이에 관계가있을 경우 Symfony가 INSERT 대신 UPDATE를하도록하려면 어떻게해야합니까? Symfony의 최신 버전을 사용하여 음악을 만듭니다.
당신이 어떻게 업데이트하는에 코드를 게시 할 수 있습니다 설정 엔티티? 일반적으로 $ product-> getSetting() -> setSomeVar ('foobar')는 새로운 것을 생성하는 것이 아니라 설정 엔티티를 업데이트해야합니다 ... – Matt
제가 게시합니다 - 병합 메소드를보십시오. 그것이 도달했을 때 automaticaly 업데이트 (항상 새로운 삽입 - 문제) annotations 덕분에 엔티티 설정 ... –
나는 annotations, cascades, merge v persist 등의 사용에 대한 더 많은 정보가 필요하다고 생각한다. IME, 나는 병합만을 사용했다. 엔티티 관리자로부터 분리 된 엔티티를 관리합니다. merge() 대신 persist()를 사용하면 어떻게됩니까? – Matt