我使用的是Sonata Admin套装。我收到错误:无法创建对象:PizzaBundle \ Entity \ Promotion。我做了一个促销实体:
/**
* @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')
;
}
}
我的services.yml
admin.promotion:
class: PizzaBundle\Admin\PromotionAdmin
arguments: [~, PizzaBundle\Entity\Promotion, ~]
tags:
- { name: sonata.admin, manager_type: orm, label: Promotion }
我的代码没有问题。我认为这是实体中类型变量Image的问题。如果这是类型blob中的错误,请帮助解决问题。
答案 0 :(得分:2)
您正试图在"图像"中插入NULL列,似乎不可为空,这会导致MySQL错误。
/**
* @ORM\Entity
* @ORM\Table(name="promotion")
*/
class Promotion
{
/**
* @ORM\Column(type="blob", nullable=true)
*/
private $image;
}