를 지정되지 식별자/기본 키 : 내가 성공하지 않고 일 동안 CartBundle
을 구현하기 위해 노력했습니다Sylius CartBundle : 여기에 설명 된 과정을 다음입니다 엔티티
http://docs.sylius.org/en/latest/bundles/SyliusCartBundle/installation.html#creating-your-entities
는, 어떤 도움이 감사입니다!
저는 문서에 설명 된대로 내 자신의 제품 엔터티를 구현하려고합니다. 여기
내 YAML입니다 :sylius_cart_item
에서
Pharmacie\FrontBundle\Entity\CartItem:
type: entity
table: cart_item
manyToOne:
product:
targetEntity: Product
joinColumn:
name: product_id
referencedColumnName: id
자동으로 생성 된 데이터베이스가 ID를 자동 증가와, 좋아 보인다하는 product_id
모든 필드하지만 액세스하려고 할 때 :
/cart/add?productId=3
나는
를 얻을 수엔티티 "Pharmacie \ FrontBundle \ Entity \ CartItem"하위 클래스 "Sylius \ Bundle \ CartBundle \ Model \ CartItem"에 대해 지정된 식별자/기본 키가 없습니다. 모든 엔티티에는 식별자/기본 키가 있어야합니다.
데이터베이스에서도 기본 키가 설정되었습니다. $id
및 $product
속성
-
는 엔티티
- 내가 YAML에서 ID를 지정하려고 시도하면 오류라는 오류 메시지가 나타납니다. 더하기 id를 다시 매핑하지 않도록 지정된 문서에 더하기
CartItem
에 보호를받습니다.
업데이트 : 어쩌면 내가 잘못된 방향으로 갔을 수 있습니다.
제 오류 보여주는데 :
그래서 나는새로운 엔티티는 엔티티에 대한 동작을 계속 계단식으로 구성되지 않은 관계 'PHARMACIE \ FrontBundle \ 엔티티 \ CartItem # 1 PRODUIT'을 발견 하였다 PHARMACIE \ FrontBundle \ Entity \ Product @ 000000007ba4ab6a0000000010e955d1. 이 문제를 해결하려면 : 알 수없는 엔티티에서 EntityManager # persist()를 명시 적으로 호출하거나 캐스케이드를 구성하여 매핑에서이 연결을 @ManyToOne (.., cascade = { "persist"})과 같이 유지합니다. 어떤 엔티티가 문제를 일으키는 지 알 수 없다면 'Pharmacie \ FrontBundle \ Entity \ Product # __ toString()'을 구현하여 실마리를 얻으십시오. 500 내부 서버 오류 - ORMInvalidArgumentException은
$this->entityManager->persist($item);
추가 그리고 이것은 나에게 오류를했다.하지만 어쩌면 내가 뭔가 다른 일을해야
내가 이것을 사용하는 경우 내가 얻을 : 엔티티에 열 'ID'의 중복 정의 'PHARMACIE \ FrontBundle \ 법인 \ CartItem '필드 또는 discriminator 열 매핑. 이게 내가 블록 인 이유 야. – user788721