gpt4 book ai didi

Symfony 2 - 使用表单时未设置 Sluggable

转载 作者:行者123 更新时间:2023-12-02 11:47:01 29 4
gpt4 key购买 nike

我正在尝试使用 Doctrine Extensions bundle 中的 Sluggable 行为:

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

我已经使用注释在实体中设置了一个 sluggable 字段,但当我使用表单创建实例时,该值未设置,这会导致以下错误:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'slug' cannot be null

这是我的 Controller 的代码:

        $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)));
}

}
}

以及Entity类中的sluggable字段定义:

    /**
* @Gedmo\Slug(fields={"title"})
* @ORM\Column(length=128, unique=true)
*/
private $slug;

如果我将 slug 字段添加到表单构建器并手动设置一个值,它可以正常工作,但显然我不想搞乱它。

有人可以帮忙吗?

谢谢

最佳答案

明白了。

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

可sluggable:true

所以它应该是这样的:

stof_doctrine_extensions:
default_locale: en
translation_fallback: true
orm:
default:
tree: true
timestampable: true
sluggable: true

关于Symfony 2 - 使用表单时未设置 Sluggable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509784/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com