首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Symfony 2-在使用表单时不能设置

Symfony 2-在使用表单时不能设置
EN

Stack Overflow用户
提问于 2012-07-16 17:52:54
回答 1查看 6.8K关注 0票数 8

我正在尝试使用来自Doctrine扩展包的可打包行为:

http://gediminasm.org/article/sluggable-behavior-extension-for-doctrine-2

我已经使用注释在实体中设置了一个可延迟字段,但是在使用表单创建实例时没有设置值,这会导致以下错误:

SQLSTATE23000:完整性约束违反: 1048列“段塞”不能为空

下面是我的控制器的代码:

代码语言:javascript
复制
        $form = $this->createFormBuilder($section)
                        ->add('title', 'text')
                        ->getForm();

        if ($request->getMethod() == 'POST') {
        $form->bindRequest($request);

            if ($form->isValid()) {

                $em = $this->getDoctrine()->getEntityManager();
                $em->persist($section);
                $em->flush();

                if (empty($id)) {
                    return $this->redirect($this->generateUrl('ContentBundle_section_new'));
                }
                else {
                    return $this->redirect($this->generateUrl('ContentBundle_section_edit', array('id' => $id)));
                }

            }
        }

和实体类中的可延迟字段定义:

代码语言:javascript
复制
    /**
     * @Gedmo\Slug(fields={"title"})
     * @ORM\Column(length=128, unique=true)
     */
    private $slug;

如果我向works构建器中添加了slug字段并手动设置了一个值,它可以正常工作,但很明显,我不想在这里乱搞。

有人能帮忙吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-16 19:23:01

明白了。

我忘记将以下一行添加到config.yml文件中:

懒散:真的

所以它应该是这样的:

代码语言:javascript
复制
stof_doctrine_extensions:
    default_locale: en
    translation_fallback: true
    orm:
        default:
            tree: true
            timestampable: true
            sluggable: true
票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11509784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档