2014-06-06 1 views
1
에 대한

를 지정되지 식별자/기본 키 : 내가 성공하지 않고 일 동안 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 속성

    • 는 엔티티 CartItem에 보호를받습니다.
    • 내가 YAML에서 ID를 지정하려고 시도하면 오류라는 오류 메시지가 나타납니다. 더하기 id를 다시 매핑하지 않도록 지정된 문서에 더하기

    업데이트 : 어쩌면 내가 잘못된 방향으로 갔을 수 있습니다.

    제 오류 보여주는데 :

    새로운 엔티티는 엔티티에 대한 동작을 계속 계단식으로 구성되지 않은 관계 '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); 
    

    추가 그리고 이것은 나에게 오류를했다.하지만 어쩌면 내가 뭔가 다른 일을해야

  • 답변

    0

    귀하의 개체 파일이 같아야합니다 :

    Pharmacie\FrontBundle\Entity\CartItem: 
        type: entity 
        table: cart_item 
        id: 
         id: 
           type: integer 
           generator: 
            strategy: AUTO 
        manyToOne: 
         product: 
          targetEntity: Product  
          joinColumn: 
           name: product_id 
           referencedColumnName: id 
    
    +0

    내가 이것을 사용하는 경우 내가 얻을 : 엔티티에 열 'ID'의 중복 정의 'PHARMACIE \ FrontBundle \ 법인 \ CartItem '필드 또는 discriminator 열 매핑. 이게 내가 블록 인 이유 야. – user788721

    관련 문제