Этого не должно быть, по крайней мере, в Учении. Часть кода, где это происходит, находится в updateDefaultsFromObject
в sfFormDoctrine
. Соответствующие строки:
if ($this->isNew())
{
$defaults = $defaults + $this->getObject()->toArray(false);
}
else
{
$defaults = $this->getObject()->toArray(false) + $defaults;
}
updateDefaultsFromObject
вызывается net, пока не будет завершена вся цепочка конфигурирования, поэтому здесь должно происходить что-то еще.
Вы используете Doctrine? Используете ли вы самую последнюю версию Symfony (здесь недавно была ошибка)? Вы уверены, что по умолчанию устанавливается в configure
методе вашей формы?
Рекомендуется избегать проверки isNew
. Здесь возникает более серьезная проблема, поскольку правильное поведение заключается в том, что значение по умолчанию перезаписывается значениями существующего объекта.