我使用Doctrine ORM和Gedmo\Slug,我有具有相关实体作业的类,带有标题字段,我想按职称生成蛞蝓。我像这样配置了 SlugHandler:
/**
*
* @GedmoSlug(handlers={
* @GedmoSlugHandler(class="GedmoSluggableHandlerRelativeSlugHandler", options={
* @GedmoSlugHandlerOption(name="relationField", value="job"),
* @GedmoSlugHandlerOption(name="relationSlugField", value="title"),
* @GedmoSlugHandlerOption(name="separator", value="-"),
* })
* }, fields={"slug"})
* @ORMColumn(type="string", unique=true, nullable=true)
*/
private $slug = '';
/**
* @var Job
*
* @ORMOneToOne(targetEntity="Job", inversedBy="estimation")
* @ORMJoinColumn(name="job_id", referencedColumnName="id", nullable = false)
*/
private $job;
但是在 slug 字段中设置标题值与标题字段值完全相同(没有小写、分隔符和空格(。 我不明白这是怎么回事
如果你突然遇到类似的问题,你需要在true中设置选项urilize:
/**
*
* @GedmoSlug(handlers={
* @GedmoSlugHandler(class="GedmoSluggableHandlerRelativeSlugHandler", options={
* @GedmoSlugHandlerOption(name="relationField", value="job"),
* @GedmoSlugHandlerOption(name="relationSlugField", value="title"),
* @GedmoSlugHandlerOption(name="separator", value="-"),
* @GedmoSlugHandlerOption(name="urilize", value="true"),
* })
* }, fields={"slug"})
* @ORMColumn(type="string", unique=true, nullable=true)
*/
private $slug;