Symfony4 - пустое значение в форме choice_value не работает - PullRequest
0 голосов
/ 07 мая 2019

Когда я использую функцию choice_value для исключения некоторых данных из моего выбора, если поле пустое, в базе данных устанавливается значение, но не «NULL».это значение является первой записью моей сущности.Когда я перечисляю все данные, если поле пустое, в базе данных устанавливается значение «Null».

Есть идеи?

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $this->currentId = $options['currentId'];
     $builder

         ->add('oldOwners', entityType::class, array(
             'class' => OldOwners::class,
             'required' => false,
             'empty_data' => null,
             'multiple' => false,
             'choice_value' => function (OldOwners $oldOwners = null) {
                 if ($oldOwners != null && $oldOwners != '') {
                     if ($this->currentId != 0 && $oldOwners->animal->getId() == $this->currentId)

                         return $oldOwners->getDateDisposal()->format('Y-m-d');
                 }

             },
             'choice_label' => function (OldOwners $oldOwners = null) {

                 if ($oldOwners != null && $oldOwners != '') {
                     if ($this->currentId != 0 && $oldOwners->animal->getId() == $this->currentId)

                         return $oldOwners->getDateDisposal()->format('Y-m-d');
                 }
             },

             'label' => "Date"));

 /**
 * @param OptionsResolver $resolver
 */
public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults([
        'data_class' => Adopting::class,
        'currentId' => null,
    ]);
    $resolver->setRequired('currentId');
}

1 Ответ

0 голосов
/ 09 мая 2019

Когда я перечисляю все данные, если поле пустое, в базе данных устанавливается значение «Null».

Для этой части это потому, что ваш 'empty_data' => null

взгляните на документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...