2011-08-16 4 views
3

symfony2를 배우고 번들로 일부 교리 실체를 만드는 작업을 수행 할 때, 나는 그들을 옮기고 싶었습니다.Symfony2 - 엔티티 삭제/이동 방법?

그러나 이동 한 후 참조되는 인스턴스를 변경하면 응용 프로그램을 실행하려고 할 때 오류가 발생했습니다.

나는 그들을 뒤로 옮겼다. 그리고 모든 것이 좋았다.

이제는 완전히 제거하려고합니다.하지만 그렇게 할 때 오류가 발생합니다.

엔티티를 완전히 제거하는 데 도움이 되셨습니까?

+0

실제 오류를 제공하는 데 도움이됩니다. – Tjorriemorrie

답변

3

나는 Pablo가 한 것과 똑같은 일을했지만 번들을 위해 : 번들 (이름이 변경됨)을 이동하고 모든 호출을 수정했습니다.

내가 같은 오류가 있습니다

ErrorException: Catchable Fatal Error: Object of class __PHP_Incomplete_Class could not be converted to string in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php line 70 
in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php line 65 
at ErrorHandler->handle() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php line 70 
at AbstractToken->getUsername() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php line 56 
at SecurityDataCollector->collect() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php line 174 
at Profiler->collect() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php line 90 
at ProfilerListener->onKernelResponse() 
at call_user_func() in /Volumes/Data/home/timi/Sites/symfony2/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Debug/TraceableEventDispatcher.php line 82 
at TraceableEventDispatcher->doDispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3678 
at EventDispatcher->dispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 4754 
at ContainerAwareEventDispatcher->dispatch() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3904 
at HttpKernel->filterResponse() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3896 
at HttpKernel->handleRaw() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 3846 
at HttpKernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/app/cache/dev/classes.php line 4791 
at HttpKernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/app/bootstrap.php.cache line 547 
at Kernel->handle() in /Volumes/Data/home/timi/Sites/symfony2/web/app_dev.php line 20 

어떤 도움은 매우 환영합니다 :)

편집 :

그럼 난 문제가 아담 스테이시는 잘 들었다 해결 :)

아무 것도 변경하기 전에 FOSUserBundle 방화벽을 사용하여 웹 사이트에 로그인했습니다. 번들의 이름을 변경하면 방화벽을 속였고 ./vendor/symfony/src/Symfony/Component/Security/Core/Authentication/Token/AbstractToken.php의 줄 70에 멈추었습니다. 다음은 함수입니다.

public function getUsername() 
{ 
    if ($this->user instanceof UserInterface) { 
     return $this->user->getUsername(); 
    } 

    return (string) $this->user; 
} 

그래서 나는 선 return (string) $this->user;에서 주석 웹 페이지를 다시로드, 주석을 되돌아보다, 로그 아웃. 그리고 voilà!

0

어떤 종류의 오류가 발생 했습니까?

있는지 확인 :

  1. 캐시 지우기
  2. 다시 그것으로 실체 관계를 가지고 있지 않습니다 데이터베이스
  3. 엔티티에 기반한 코드가없는
+0

가능한 모든 캐시를 파일 시스템과 명령 줄에서 모두 지 웁니다. DB에있는 모든 데이터를 삭제하고 두 번들 모두에서 엔티티를 다시 작성합니다. 아직도 운이 없다. –

+0

무엇이 오류입니까? – Inoryy

+0

ErrorException : Catchable Fatal Error : 클래스 __PHP_Incomplete_Class의 객체를 C : \ xampp \ htdocs \ Symfony \ vendor \ symfony \ src \ Symfony \ Component \ Security \ Core \ Authentication \ Token \ AbstractToken.php 줄 70 문자열로 변환 할 수 없습니다. –

0

Inori가 언급 한 것처럼 엔티티를 다시 만들려고 했습니까?

php app/console doctrine:generate:entities Acme 
php app/console doctrine:schema:update --force 

당신이 당신의 번들에 사용 무엇 이건 당신의 이름, 회사 이름 또는로 "한국 전기" 교체 : CLI에서 이것을 시도하지 않으면

.

다른 작업은 엔터티를 사용했던 인스턴스를 제거하는 것입니다.

use Acme\BundleName\Entity\SomeEntity; 
use Acme\BundleName\Entity\AnotherEntity; 

그들은 제거해야합니다 :

는 예를 들어, 다음과 같이 컨트롤러에서 일부 개체가있을 수 있습니다.

오고있는 특정 오류에 대한 자세한 내용을 알고있는 경우 알려 주시면 자세히 알려 드리겠습니다.

+0

나는이 모든 것을 시도했다. 나는 지금 막 생성 한 두번째 뭉치를 제거하고, Entity php 파일의 각 마지막 언급을 제거했다. 그래서 지금 내 애플 리케이션은 단지 그것에 기본 양식 페이지되어야합니다. 여전히로드되지 않습니다. –

+0

좋아, 내 모든 번들 및 커널에있는 그들에 대한 참조를 제거 등. 새로운 번들을 생성,/안녕하세요/이름과 BAM과 브라우저에서 보러 갔다! 부서진. 이전에 인쇄 한 것과 같은 오류가 발생했습니다. 내 전체 애플 리케이션이 깨졌습니다 : / –

0

가끔은 세션과 관련이 있다고 들었습니다. 인증이나 그런 용도로 번들을 사용하고 있습니까?

session.auto_start = Off 

이 해제 방법 일 수 있지만 갈 가치 : php.ini 파일에서

당신이 당신의 세트가 않습니다. 알려줘.

별도 메모에. 서버 설정이 CLI를 통해 실행할 수있는 app/check.php 파일의 검사를 통과 했습니까?