2015-01-27 4 views
1

"심각한 오류 : C : \ Wamp \ www \ Symfony \ src \ Acme \ UserBundle \ entity \ User의 클래스 Acme \ UserBundle \ Entity \ User를 다시 선언 할 수 없습니다."오류를 디버그하려고합니다. php app/console doctrine : schema : update --force "명령을 사용하여 MySQL의 테이블을 만들고 싶을 때. 내가 사용 ("User_alias"로 이름이 변경 내 캐시를 삭제 한 내 "사용자"클래스를 두 번 선언 할 수 곳Symfony Doctrine 스키마 업데이트가 클래스를 다시 선언 할 수 없습니다.

namespace Acme\UserBundle\Entity; 
use Doctrine\ORM\Mapping as ORM; 
use Symfony\Component\Security\Core\User\UserInterface; 

/** 
* Acme\UserBundle\Entity\User 
* 
* @ORM\Table(name="acme_users") 
* @ORM\Entity(repositoryClass="Acme\UserBundle\Entity\UserRepository") 
*/ 
class User implements UserInterface, \Serializable 
{  
//... 

보고 : 여기

내 개체 코드의 선두입니다 "PHP 애플 리케이션/콘솔 캐시 : 지우기"명령). 커맨드 윈도우에서 "이름이 'basededonne.acme_users'인 테이블이 이미 존재합니다."라는 오류 메시지가 나타나지만 phpmyadmin에는이 테이블이 표시되지 않습니다. 또한 브라우저에서 "User.php 행의 FatalErrorException 오류 15 : 컴파일 오류 : Acme \ UserBundle \ Entity \ User_alias 클래스를 다시 선언 할 수 없습니다. "(사용자 클래스를 사용할 때 브라우저에 오류가 없었습니다.)

누구든지 해결할 수있는 다른 옵션을 제공 할 수 있습니까? 이 문제는? 나는 현재 내가 생각 놓치고 더 큰 그림이있다.에서

+0

하나의 가능성은 다른 파일 이름으로 User.php를 백업 한 것입니다. 클래스 User와 함께 전체 프로젝트를 검색 할 수 있습니까? 이름을 바꿉니다. 캐시를 수동으로 삭제 한 다음 스키마를 업데이트하십시오. – herr

답변

1

당신의 User_alias.php 당신은 class User 정의.

당신이 당신의 CAC을 취소하려고하지만 이 명령의 워밍업 부분에서 symfony는 프로젝트 파일을 기반으로 캐시 파일을 생성합니다. 그리고 User 클래스를 방문한 후 User.php을 다시 방문하면 User 클래스를 방문하여 User_alias.php에 오류가 발생합니다.

클래스 이름을 User_alias.php으로 변경하면 모두 정상적으로 작동합니다.

+0

감사합니다. 도움이됩니다. – Bastien

관련 문제