Как установить поле NULL, если ничего не было записано на входе?
Я хотел бы установить флажок в поле NULLIFY. (Даже если поле пустое, нужно NULL в туздо поле)
Как установить поле NULL, если ничего не было записано на входе?
Я хотел бы установить флажок в поле NULLIFY. (Даже если поле пустое, нужно NULL в туздо поле)
Позволь мне предложить правильный путь для достижения этой цели в Symfony2 и сонатном администраторе
специально используются для булева поля с обнуляемой = True (пью : mysql field boolean в symfony2 на самом деле tinyint: 1)
после его редактирования такое поле обычно передается в true, но если вы перехватите запрос и оцените значение данного поля, вы можете его изменить следующим образом:
в вашем классе администратора, если свойство объекта недвижимость
public function prePersist($object)
{
if (in_array($object->getProperty(), array(NULL, '', '3',)))
$object->setProperty(NULL);
}
public function preUpdate($object)
{
if (in_array($object->getProperty(), array(NULL, '', '3',)))
$object->setProperty(NULL);
}
число 3 является то, что я осуществил в моем случае для выбора, где нуль требуется
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('property', 'choice', array(
'choices' => array(
'3' => 'Yes and No',
'0' => 'No',
'1' => 'Yes',
),
'empty_value' => false,// unset this and empty would work also
'required' => false,
))
// ->add('property', null, array('required' => false))// checkbox if bool
;
}
Надежда, что помогает! Cheers, Vince
Вы делаете это за всю свою недвижимость? я не понимаю, что такое $ object – ibasaw
, для тех, кому нужно ... $ object - это объект, которым вы управляете ... это может быть, например, статья с опубликованным свойством. (где, возможно, флаг между ними, ни 0, ни 1, не означает, что он находится в состоянии проверки ...) В таком случае сценарий будет выглядеть так: $ object-> getPublished() и $ object- > setPublished (NULL) – MediaVince