我使用Symfony 3框架和可缓慢的学说扩展。我需要用这样的代码生成一个slug:
<?php
/**
* @Gedmo\Mapping\Annotation\Slug(handlers={
* @Gedmo\Mapping\Annotation\SlugHandler(class="Gedmo\Sluggable\Handler\TreeSlugHandler", options={
* @Gedmo\Mapping\Annotation\SlugHandlerOption(name="parentRelationField", value="parent"),
* @Gedmo\Mapping\Annotation\SlugHandlerOption(name="separator", value="/")
* })
* }, fields={"title", "code"})
* @Doctrine\ORM\Mapping\Column(length=64, unique=true)
*/
private $slug;
我使用TreeSlugHandler,但是我想使用这个处理程序,只有在没有设置slug时(如果它是空的),因为处理程序重写了slug。我怎么能做到这一点?
答案 0 :(得分:0)
您需要将updatable设置为false。 The documentation is here
相关的一行是:
updatable(可选,默认= true) - 如果更新了slug,则为true 可缓慢的字段变化,错误 - 否则
前:
/**
* @Gedmo\Slug(fields={"meta_title"}, updatable=false)
* @ORM\Column(length=128, unique=true)
*/
private $slug = "";