2017-04-02 1 views
0

내 웹 사이트를 다른 서버로 이동했기 때문에이 문제가 발생합니다. 구성은 동일합니까, 어떤 힌트일까요?젠드 프레임 워크 Doctrine DBAL Exception InvalidFieldNameException

파일 :

/var/www/page/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:71 

메시지 :

An exception occurred while executing 'SELECT s0_.id AS id_0, s0_.answer AS answer_1, s0_.users_usrId AS users_usrId_2, s0_.question AS question_3 FROM secret_answer s0_ WHERE s0_.users_usrId = ?' with params [83440]: 

SQLSTATE [42S22] : 발견되지 칼럼 : 1054 알 수없는 열 's0_.users_usrId' '필드 목록'

스택 추적에 :

#0 /var/www/page/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(128): Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException('An exception oc...', Object(Doctrine\DBAL\Driver\PDOException)) 
#1 /var/www/page/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(855): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Driver\PDOException), 'SELECT s0_.id A...', Array) 
#2 /var/www/page/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Exec/SingleSelectExecutor.php(50): Doctrine\DBAL\Connection->executeQuery('SELECT s0_.id A...', Array, Array, NULL) 
#3 /var/www/page/vendor/doctrine/orm/lib/Doctrine/ORM/Query.php(321): Doctrine\ORM\Query\Exec\SingleSelectExecutor->execute(Object(Doctrine\DBAL\Connection), Array, Array) 
#4 /var/www/page/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(969): Doctrine\ORM\Query->_doExecute() 
#5 /var/www/page/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(924): Doctrine\ORM\AbstractQuery->executeIgnoreQueryCache(NULL, NULL) 
#6 /var/www/page/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(766): Doctrine\ORM\AbstractQuery->execute(NULL, NULL) 
#7 /var/www/page/vendor/custom/p-server-core/src/PServerCore/Entity/Repository/SecretAnswer.php(23): Doctrine\ORM\AbstractQuery->getOneOrNullResult() 
#8 /var/www/page/vendor/custom/p-server-core/src/PServerCore/Form/Password.php(85): PServerCore\Entity\Repository\SecretAnswer->getAnswer4UserId(83440) 
#9 /var/www/page/vendor/custom/p-server-core/src/PServerCore/Controller/AuthController.php(188): PServerCore\Form\Password->addSecretQuestion(Object(DoctrineORMModule\Proxy\__CG__\PServerCore\Entity\User)) 
#10 /var/www/page/vendor/zendframework/zend-mvc/src/Controller/AbstractActionController.php(78): PServerCore\Controller\AuthController->pwLostConfirmAction() 
#11 /var/www/page/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent)) 
#12 /var/www/page/vendor/zendframework/zend-eventmanager/src/EventManager.php(179): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent), Object(Closure)) 
#13 /var/www/page/vendor/zendframework/zend-mvc/src/Controller/AbstractController.php(105): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent)) 
#14 /var/www/page/vendor/zendframework/zend-mvc/src/DispatchListener.php(119): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response)) 
#15 /var/www/page/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent)) 
#16 /var/www/page/vendor/zendframework/zend-eventmanager/src/EventManager.php(179): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent), Object(Closure)) 
#17 /var/www/page/vendor/zendframework/zend-mvc/src/Application.php(332): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent)) 
#18 /var/www/page/public/index.php(18): Zend\Mvc\Application->run() 
#19 {main} 

감사합니다. 친절 해요.

답변

0

필드가 누락 된 것 같습니다. 데이터베이스 스키마를 갱신하거나 엔티티의 orm 구성을 조정해야 할 수도 있습니다.

주석을 사용한다고 가정하면 @Table에 테이블 이름을 지정하고 필드 이름에는 @Column 주석을 지정할 수 있습니다. 엔터티가 올바른 테이블에 매핑되고 오른쪽 필드에 대한 속성이 매핑되는지 확인합니다.

+0

안녕하세요, 테이블은 이전 백엔드에서 이미 제대로 작동하지 않습니다. – Dayum

+1

글쎄, 오류가 거기에없는'secret_answer' 테이블에서'users_usrId' 필드를 찾고 있다고합니다. 스키마가 변경되었거나 매핑이 잘못되었습니다. 스키마와 모델이 모두 올바르게 설정되어 있다면'PServerCore \ Entity \ Repository \ SecretAnswer :: getAnswer4UserId'에서 쿼리를 조사 할 것입니다. 오류를 던지고있는 쿼리가 수집되어 제출되는 장소 인 것 같습니다. – dbrumann

+0

나는 그것을 볼 것이다. 나는 널 유감스럽게 만들거야. 다시 한번 감사드립니다. :) – Dayum