我正在使用 symfony2 框架开发一个网站,并使用 Doctrine 作为我的 ORM。我有两个实体形成一个简单的双向 OneToMany 关系,一侧是 Category,多侧是 Entry。为了让用户管理类别和相应的条目,我使用了 SonataAdminBundle。我还在管理包中实现了一个简单的文件上传。每当我尝试保存新条目时,都会出现以下错误:
An exception occurred while executing 'INSERT INTO Entry
(title, ent_text, img, author, pub_date, slug, cat_id) VALUES (?, ?, ?, ?, ?, ?, ?)'
with params ["BLa", null, "asdf.jpg", "User", null, "bla", 1]:
我完全不知道这是从哪里来的,尤其是因为表格中的所有必要字段都已填写。以下是所有相应的类,我决定发布 pastebin 链接以获得更好的可读性:
入口实体: http: //pastebin.com/vp8Ym4wz
类别实体: http: //pastebin.com/vLMJyxdW
EntryAdmin 类:对不起,不得不在这里发帖,由于声誉问题,我只允许两个链接。由于某种原因,前几行格式不正确,对此也感到抱歉。
namespace S4P\MainBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
class EntryAdmin extends Admin {
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('category', 'entity', array('class' => 'S4PMainBundle:Category', 'property' => 'title'))
->add('text', null, array('required' => true))
->add('image', 'file', array('required' => false))
->add('author', null, array('required' => true))
->add('title', null, array('required' => true));
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper) {
$datagridMapper
->add('text')
->add('img_name')
->add('author')
->add('title');
}
protected function configureListFields(ListMapper $listMapper) {
$listMapper
->add('text')
->add('img_name')
->add('author')
->add('title');
}
}
我很感激任何帮助。
问候贝尼