최신 공식 PDF 매뉴얼(en Edition)에 따라 제품 추가, 탐색, 업데이트, 삭제에 대한 데모를 만들었습니다. 이전 테스트 결과 제품에 다대일 카테고리 속성이 있습니다.
src/Acme/StoreBundle/Entity/Product.php
src/Acme/StoreBundle/Entity/Category.php
으아악그런 다음 양식 장에 따라 제품 추가 페이지를 제품을 제출하고 추가할 수 있는 양식으로 변환했습니다.
으아악이 시점에서 모든 링크가 정상적으로 작동할 수 있고 데이터베이스도 성공적인 데이터를 생성할 수 있습니다. 그런 다음 "양식 클래스 생성"을 보았으므로 명령줄과 함께 제공되는 Doctrine:generate:form을 사용하여 Form 클래스를 만들었습니다.
으아악src/Acme/StoreBundle/Form/ProductType.php
으아악그런 다음 매뉴얼에 따라 컨트롤러 코드를 수정했습니다.
으아악그런데 캐시를 삭제한 후 액세스 주소에 Symfony2 500 오류가 나타났습니다. 로그의 오류 메시지는 다음과 같습니다.
으아악에코 출력 내용을 디버깅한 후 수정된 문장 "$form = $this->createForm(new ProductType(), $product);"에 위치합니다
이 오류의 의미는 Symfony가 드롭다운 메뉴(<select>)를 생성할 때 옵션(<option>)의 텍스트 내용으로 무엇을 사용해야 할지 알 수 없다는 것입니다. 오류 메시지에서 표시되는 텍스트는 카테고리 이름입니다:
(1) Entity 클래스에 "__toString()" 메서드를 추가합니다. 으아아아
(2) 엔터티의 필드를 옵션 텍스트로 지정합니다.으아아아