Symfony3 Не удалось создать объект


Я использую пакет администрирования Sonata. Я получаю ошибку: Не удалось создать объект: PizzaBundle\Сущность\Продвижение. Я сделал рекламную компанию:

/**
 * @ORM\Entity
 * @ORM\Table(name="promotion")
 */
class Promotion {

    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=100)
     */
    private $title;

    /**
     * @ORM\Column(type="string")
     */
    private $description;



    /**
     * @ORM\Column(type="blob")
     */
    private $image;

    /**
     * @ORM\Column(type="date")
     */
    private $dataStart;

    /**
     * @ORM\Column(type="date")
     */
    private $dataEnd;

И PromotionAdmin.php

public function configureFormFields(FormMapper $formMapper) {
        $formMapper
                ->add('title', 'text')
                ->add('description', 'text')
                ->end()
                ->with('Zdjęcie')
                    ->add('image', 'file', ['required' => false]) 
                    ->add('dataStart', 'date')
                    ->add('dataEnd', 'date')
                ->end();
    }

    protected function configureDatagridFilters(DatagridMapper $datagridMapper)
    {
        $datagridMapper
                ->add('title')
                ->add('description')
                ->add('image')
                ->add('dataStart')
                ->add('dataEnd')
                ;
    }

    protected function configureListFields(ListMapper $listMapper)
    {
        $listMapper
                ->addIdentifier('title')
                ->addIdentifier('description')
                ->addIdentifier('image')
                ->addIdentifier('dataStart')
                ->addIdentifier('dataEnd')
                ;
    }



}

Мои услуги.yml

admin.promotion:
        class: PizzaBundle\Admin\PromotionAdmin
        arguments: [~, PizzaBundle\Entity\Promotion, ~]
        tags:
            - { name: sonata.admin, manager_type: orm, label: Promotion }

У меня нет проблем с моим кодом. Я думаю, что это проблема с изображением переменной типа в сущности. Если это ошибка в типе blob, пожалуйста, помогите решить проблему.

Author: Jakub W, 2017-05-03

1 answers

Вы пытаетесь вставить NULL в столбец "изображение", который, по-видимому, не может быть обнулен, что приводит к ошибке MySQL.

/**
 * @ORM\Entity
 * @ORM\Table(name="promotion")
 */
class Promotion 
{
     /**
      * @ORM\Column(type="blob", nullable=true)
      */
     private $image;
}
 2
Author: Arne, 2017-05-03 11:42:48