是否支持 Doctrine Sluggable Unique_base 选项多个字段?
Posted
技术标签:
【中文标题】是否支持 Doctrine Sluggable Unique_base 选项多个字段?【英文标题】:Has support Doctrine Sluggable Unique_base option multiple fields? 【发布时间】:2015-07-10 04:39:01 【问题描述】:我有一个像
这样的post表id slug title content objectKey objectId
我想生成 3 个字段唯一的 slug。 [ title, objectKey, objectId ]
如何做到?
【问题讨论】:
我知道这是个老话题了。但如果有人仍在寻找这个,请尝试 unique_base 选项。 github.com/Atlantic18/DoctrineExtensions/blob/v2.4.x/doc/… 【参考方案1】:来自 DoctrineExtension 的 Doctrine Sluggable 支持多个字段。
详情请看: https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/sluggable.md 和搜索:
/**
* @Gedmo\Slug(fields="title", "code")
* @ORM\Column(length=128, unique=true)
*/
private $slug;
如果 ObjectId 是关系,请查看:
/**
* Person domain object class
*
* @Gedmo\Mapping\Annotation\Slug(handlers=
* @Gedmo\Mapping\Annotation\SlugHandler(class="Gedmo\Sluggable\Handler\RelativeSlugHandler", options=
* @Gedmo\Mapping\Annotation\SlugHandlerOption(name="relationField", value="category"),
* @Gedmo\Mapping\Annotation\SlugHandlerOption(name="relationSlugField", value="title"),
* @Gedmo\Mapping\Annotation\SlugHandlerOption(name="separator", value="/"),
* @Gedmo\Mapping\Annotation\SlugHandlerOption(name="urilize", value=true)
* )
* , fields="title", "code")
* @Doctrine\ORM\Mapping\Column(length=64, unique=true)
*/
private $slug;
【讨论】:
谢谢你,但我不想将 slug 更改为 / title-objectId 我只想检查基础作为唯一的 slug 生成。 你能举个例子吗?以上是关于是否支持 Doctrine Sluggable Unique_base 选项多个字段?的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 2 - 使用表单时未设置 Sluggable
Laravel cviebrock/eloquent-sluggable 将 @ 作为前缀或在路由中过滤它
CakePHP 2.1:德语变音符号的 Sluggable 行为
PHP Laravel cviebrock/eloquent-sluggable 不起作用,因为“instanceof SluggableInterface”总是返回 false