public function executeProductAllAccept()
{
$this->observation = ObservationPeer::retrieveByPK($this->getRequestParameter('id'));
$this->forwardUnless((
$this->observation
), 'observation', 'error');
$this->redirectUnless((
$this->product
), 'observation/error?flag=insufficientrights');
$currentTime = date('Y-m-d H:i:s');
//echo $currentTime.'<br />';
$this->observation->setIsSentBackToPM(0);
//echo 'after setIsSentBackToPM'.'<br />';
$this->observation->setIsPartAccepted(0);
//echo 'after setIsPartAccepted'.'<br />';
$this->observation->setIsHold(1);
//echo 'after setIsHold'.'<br />';
$this->observation->setCostAllAcceptanceTime($currentTime);
//echo 'after setCostAllAcceptanceTime'.'<br />';
$this->observation->save();
//echo 'after save'.'<br />';
//exit;
return $this->redirect('observation/myObservations');
}
이 코드는 빈 페이지를 반환합니다. dev 환경에서 시도 -> 다시 빈 페이지.Symfony 1.0.22 객체 저장 실패 - 왜? 이것을 디버깅하는 방법?
그래서 어떤 에코가 추가 되었습니까? 출력은 다음과 같습니다.
2013-06-03 10:40:20
after setIsSentBackToPM
after setIsPartAccepted
after setIsHold
after setCostAllAcceptanceTime
이렇게하면 save()를 실행할 때 분명히 어딘가에 실패합니다.
심포니 로그에 보았다 없습니다 : 심포니 실행을 시도하기 전에- 오류 을
- 는 [정보]를 SELECT는
- SET 쿼리에 대해 의심의 [정보] 쿼리에 대한 (그래서 뭔가 저장() 실패 쿼리)
아파치 오류 로그에서 보입니다 -> 오류가 없습니다.
그래서 save 메소드 -> symfony propel-build-model을 재구성 해 보았습니다. 그러나 문제는 남아있었습니다. 나는 BaseObservation의 save 메소드를 다른 모델의 save 메소드와 비교했다. - 나는 이상한 것을 보지 못했다.
나는 이것을 추적하는 방법을 모른다. 어떤 아이디어?
편집 : 업데이트 테스트 :
public function executeProductAllAccept()
{
$this->observation = ObservationPeer::retrieveByPK($this->getRequestParameter('id'));
echo 'before test plain save'.'<br />';
$this->observation->save();
echo 'after test plain save'.'<br />';
$this->forwardUnless((
$this->observation
), 'observation', 'error');
$this->redirectUnless((
$this->product
), 'observation/error?flag=insufficientrights');
$currentTime = date('Y-m-d H:i:s');
echo $currentTime.'<br />';
$this->observation->setIsSentBackToPM(0);
echo 'after setIsSentBackToPM'.'<br />';
$this->observation->setIsPartAccepted(0);
echo 'after setIsPartAccepted'.'<br />';
$this->observation->setIsHold(1);
echo 'after setIsHold'.'<br />';
$this->observation->setCostAllAcceptanceTime($currentTime);
echo 'after setCostAllAcceptanceTime'.'<br />';
$this->observation->save();
echo 'after save'.'<br />';
exit;
return $this->redirect('observation/myObservations');
}
결과 :
before test plain save
after test plain save
2013-06-03 10:40:20
after setIsSentBackToPM
after setIsPartAccepted
after setIsHold
after setCostAllAcceptanceTime
개체를 편집하지 않고 * 저장 *하려고 했습니까? 'retrieveByPK' 바로 다음과 같은가? – j0k
이것은 이상합니다. 내가 제안한대로 테스트 할 코드를 추가했는데 편집 작업없이 save()처럼 보입니다. 편집 된 게시물보기 이제 우리는 무엇이 잘못 될지 모릅니다. – loostro
schema.xml/yml을 볼 수 있습니까? 'setCostAllAcceptanceTime'을 정의하지 않고 저장할 수 있습니까? – j0k