Я сделал расширение интерфейса с Extbase в TYPO3 6.2 и при перенаправлении в своем контроллере я теряю изменения, которые я сделал для своего объекта. Интересно, если это предназначено и почему?Зачем перенаправлять мой объект?
Здесь я вижу изменение, которое я сделал для appointment
в var_dump
.
/**
*
* @param Domain\Model\Appointment $appointment
* @return void
*/
public function bookAction(Domain\Model\Appointment $appointment) {
if ($appointment->getBooked()) {
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($appointment);
$this->redirect('update', null, null, array('appointment'=>$appointment));
}
}
Затем я вижу исходный объект, прежде чем изменения, которые я сделал, чтобы appointment
в var_dump
.
Кажется, что передача измененного назначения сбрасывает его обратно в исходное состояние ...?
/**
* action update
*
* @param Domain\Model\Appointment $appointment
* @return void
*/
public function updateAction(Domain\Model\Appointment $appointment) {
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($appointment);
}
кажется, что из вашего кода, который вы только отладить ваше значение и передать тот же объект в редиректа, вы должны сначала сохраняются изменения в свой объект, Например, если вы хотите что-либо изменить в вашем объекте, то у вас есть использовать setter menthod определенного свойства. –
, но изменения уже находятся в объекте, я не отлаживаю значение, я отлаживаю весь объект, и я вижу, что он имеет правильные значения, введенные в форму, которая вызывает bookAction.Может ли быть так, что TYPO3 просто перезагружает объект из репозитория при перенаправлении вместо передачи фактического объекта функции переадресации? –