我在本教程中学习了SonataAdminBundle: http://sftuts.com/doc/jobeet/en/the-admin-generator
但不是:
我有空值:
同样在表格中,我只提交按钮,但是如果我点击此按钮,那么我有错误:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'type' cannot be null
也许是SonataAdminBundle的更好的教程?
修改
<?php
//src/SfTuts/JobeetBundle/Admin/CategoryAdmin.php
namespace SfTuts\JobeetBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
class CategoryAdmin extends Admin
{
protected $list = array(
'id' => array('identifier' => true),
'name',
);
protected $form = array(
'name',
);
protected $filter = array(
'name',
);
}
答案 0 :(得分:1)
你可以阅读这篇文章。您的教程版本可能已过时。 http://sonata-project.org/bundles/admin/master/doc/index.html
试试这段代码:
use Sonata\AdminBundle\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Validator\ErrorElement;
use Sonata\AdminBundle\Form\FormMapper;
class CategoryAdmin extends Admin
{
/**
* @param \Sonata\AdminBundle\Form\FormMapper $formMapper
* @return void
*/
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name')
;
}
/**
* @param \Sonata\AdminBundle\Datagrid\DatagridMapper $datagridMapper
* @return void
*/
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('name');
}
/**
* @param \Sonata\AdminBundle\Datagrid\ListMapper $listMapper
* @return void
*/
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('id')
->addIdentifier('name');
}
}